🗊 Презентация Графика. Важные пространства имен

Нажмите для полного просмотра!
Графика. Важные пространства имен, слайд №1 Графика. Важные пространства имен, слайд №2 Графика. Важные пространства имен, слайд №3 Графика. Важные пространства имен, слайд №4 Графика. Важные пространства имен, слайд №5 Графика. Важные пространства имен, слайд №6 Графика. Важные пространства имен, слайд №7 Графика. Важные пространства имен, слайд №8 Графика. Важные пространства имен, слайд №9 Графика. Важные пространства имен, слайд №10 Графика. Важные пространства имен, слайд №11 Графика. Важные пространства имен, слайд №12 Графика. Важные пространства имен, слайд №13 Графика. Важные пространства имен, слайд №14 Графика. Важные пространства имен, слайд №15 Графика. Важные пространства имен, слайд №16 Графика. Важные пространства имен, слайд №17 Графика. Важные пространства имен, слайд №18 Графика. Важные пространства имен, слайд №19 Графика. Важные пространства имен, слайд №20 Графика. Важные пространства имен, слайд №21 Графика. Важные пространства имен, слайд №22 Графика. Важные пространства имен, слайд №23 Графика. Важные пространства имен, слайд №24 Графика. Важные пространства имен, слайд №25 Графика. Важные пространства имен, слайд №26 Графика. Важные пространства имен, слайд №27 Графика. Важные пространства имен, слайд №28 Графика. Важные пространства имен, слайд №29 Графика. Важные пространства имен, слайд №30 Графика. Важные пространства имен, слайд №31 Графика. Важные пространства имен, слайд №32 Графика. Важные пространства имен, слайд №33 Графика. Важные пространства имен, слайд №34 Графика. Важные пространства имен, слайд №35 Графика. Важные пространства имен, слайд №36 Графика. Важные пространства имен, слайд №37 Графика. Важные пространства имен, слайд №38 Графика. Важные пространства имен, слайд №39 Графика. Важные пространства имен, слайд №40 Графика. Важные пространства имен, слайд №41 Графика. Важные пространства имен, слайд №42 Графика. Важные пространства имен, слайд №43 Графика. Важные пространства имен, слайд №44 Графика. Важные пространства имен, слайд №45 Графика. Важные пространства имен, слайд №46 Графика. Важные пространства имен, слайд №47 Графика. Важные пространства имен, слайд №48 Графика. Важные пространства имен, слайд №49 Графика. Важные пространства имен, слайд №50 Графика. Важные пространства имен, слайд №51 Графика. Важные пространства имен, слайд №52 Графика. Важные пространства имен, слайд №53 Графика. Важные пространства имен, слайд №54 Графика. Важные пространства имен, слайд №55 Графика. Важные пространства имен, слайд №56 Графика. Важные пространства имен, слайд №57 Графика. Важные пространства имен, слайд №58 Графика. Важные пространства имен, слайд №59 Графика. Важные пространства имен, слайд №60 Графика. Важные пространства имен, слайд №61

Содержание

Вы можете ознакомиться и скачать презентацию на тему Графика. Важные пространства имен. Доклад-сообщение содержит 61 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Графика GDI+
Описание слайда:
Графика GDI+

Слайд 2


Важные пространства имен
Описание слайда:
Важные пространства имен

Слайд 3


Типы System.Drawing (I)
Описание слайда:
Типы System.Drawing (I)

Слайд 4


Типы System.Drawing (II)
Описание слайда:
Типы System.Drawing (II)

Слайд 5


Перечисленения System.Drawing
Описание слайда:
Перечисленения System.Drawing

Слайд 6


Тип Point (PointF) namespace DrawingUtilTypes { using System; using System.Drawing; // Это пространство имен нужно для работы с типами GDI+ public...
Описание слайда:
Тип Point (PointF) namespace DrawingUtilTypes { using System; using System.Drawing; // Это пространство имен нужно для работы с типами GDI+ public class UtilTypes { public static int Main(string[] args) { Point pt = new Point(100, 72); // Создаем точку, а затем смещаем ее System.Console.WriteLine(pt); pt.Offset(20, 20); System.Console.WriteLine(pt); Point pt2 = pt; // Применяем перегруженные операторы Point if (pt = = pt2) Console.WriteLine("Points are the same"); else Console.WriteLine("Different points"); pt2.X = 4000; // Меняем значение координаты X для pt2 // А теперь выводим информацию о координатах каждой точки: Console.WriteLine("First point: {0}", pt.ToString()); Console.WriteLine("Second point: {0}", pt2.ToString()); return 0; } } }

Слайд 7


Члены класса Point (PointF)
Описание слайда:
Члены класса Point (PointF)

Слайд 8


Члены класса Rectangle (RectangleF)
Описание слайда:
Члены класса Rectangle (RectangleF)

Слайд 9


Работа метода Contains() public static int Main(string[] args) { ... Rectangle r1 = new Rectangle(0, 0, 100, 100); Point pt3 = new Point(101, 101);...
Описание слайда:
Работа метода Contains() public static int Main(string[] args) { ... Rectangle r1 = new Rectangle(0, 0, 100, 100); Point pt3 = new Point(101, 101); if (r1.Contains(pt3)) Console.WriteLine("Point is within the rect!"); else Console.WriteLine("Point is not within the rect!"); // Теперь помещаем точку внутрь области прямоугольника pt3.X = 50; pt3.Y = 30; if (r1.Contains(pt3)) Console.WriteLine("Point is within the rect!"); else Console.WriteLine("Point is not within the rect!"); return 0; }

Слайд 10


Члены класса Size (SizeF)
Описание слайда:
Члены класса Size (SizeF)

Слайд 11


Методы класса Region
Описание слайда:
Методы класса Region

Слайд 12


Сеансы вывода графики (1) public class MainForm : Form { public MainForm() { CenterToScreen(); this.Text = "Basic Paint Form"; } public...
Описание слайда:
Сеансы вывода графики (1) public class MainForm : Form { public MainForm() { CenterToScreen(); this.Text = "Basic Paint Form"; } public static void Main(string[] args) { Application.Run(new MainForm()); } protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; g.DrawString("HelloGDI+", new Font("Times New Roman", 20), new SolidBrush(Color.Black), 0, 0); } }

Слайд 13


Сеансы вывода графики (вариант 2) public class MainForm : Form { public MainForm() { ... // Добавляем обработчик события this.Paint += new...
Описание слайда:
Сеансы вывода графики (вариант 2) public class MainForm : Form { public MainForm() { ... // Добавляем обработчик события this.Paint += new System.Windows.Forms.PaintEventHandler(MainForm_Paint); } // Обратите внимание на сигнатуру обработчика событий public void MainForm_Paint( object sender, PaintEventArgs e ) { Graphics g = e.Graphics; ... } public static void Main(string[] args) { Application.Run(new MainForm()); } }

Слайд 14


Как сделать клиентскую область вашего приложения недействительной public class MainForm : Form { ... private void MainForm_Paint(object sender,...
Описание слайда:
Как сделать клиентскую область вашего приложения недействительной public class MainForm : Form { ... private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = g.Graphics; // Логика для вывода изображения ... } private void GetNewBitmap() { // Выводим окно диалога и получаем выбранное изображение ... // А теперь перерисовываем клиентскую часть формы Invalidate(); } }

Слайд 15


Указание области перерисовки private void UpdateUpperArea() { Rectangle myRect = new Rectangle(0,0,75,150); Invalidate(myRect); }
Описание слайда:
Указание области перерисовки private void UpdateUpperArea() { Rectangle myRect = new Rectangle(0,0,75,150); Invalidate(myRect); }

Слайд 16


Вывод графики вне события Paint private void NainForm_MouseDown(object sender, MouseEventArgs e) { // Получаем объект Graphics Graphics g =...
Описание слайда:
Вывод графики вне события Paint private void NainForm_MouseDown(object sender, MouseEventArgs e) { // Получаем объект Graphics Graphics g = Graphics.FromHwnd(this.Handle); // По щелчку мыши рисуем кружок g.DrawEllipse(new Pen(Color.Green), e.X, e.Y, 10, 10); }

Слайд 17


«Правильный» вывод графики public class MainForm : System.Windows.Forms.Form { // Коллекция для хранения координат всех кружков private ArrayList...
Описание слайда:
«Правильный» вывод графики public class MainForm : System.Windows.Forms.Form { // Коллекция для хранения координат всех кружков private ArrayList myPts = new ArrayList(); ... private void NainForm_MouseDown(object sender, MouseEventArgs e) { // А теперь мы просто добавляем координаты указателя при щелчке // в коллекцию и вызываем Invalidate() myPts.Add(new Point(e.X, e.Y)); Invalidate(); } private void MainForm_paint(object sender, PaintEventargs e) { Graphics g = e.Graphics; g.DrawString("Hello CDI+", new Font("Times New Roman", 20), new SolidBrush(Color,Black), 0, 0); // Выводим все точки foreach(Point p in myPts) g.DrawEllipse(new Pen(Color.Green), p.X, p.Y, 10, 10); } }

Слайд 18


Возможности класса Graphics FromHdc(), FromHwnd(), FromImage() – статические методы, обеспечивают возможность получения объекта Graphics из элемента...
Описание слайда:
Возможности класса Graphics FromHdc(), FromHwnd(), FromImage() – статические методы, обеспечивают возможность получения объекта Graphics из элемента управления или изображения Clear() – заполняет объект Graphics выбранным цветом, удаляя предыдущее содержимое MeasureString() – возвращает структуру Size, представляющую границы блока текста

Слайд 19


Методы рисования класса Graphics DrawArc(), DrawBezier(), DrawBeziers(), DrawCurve(), DrawEllipse(), DrawIcon(), DrawLine(), DrawLines(), DrawPie(),...
Описание слайда:
Методы рисования класса Graphics DrawArc(), DrawBezier(), DrawBeziers(), DrawCurve(), DrawEllipse(), DrawIcon(), DrawLine(), DrawLines(), DrawPie(), DrawPath(), DrawRectangle(), DrawRectangles(), DrawString() – все это методы вывода изображений FillEllipse(), FillPath(), FillPie(), FillPolygon(), FillRectangle() – заполнение внутренних областей объектов

Слайд 20


Свойства класса Graphics Clip, Graphics, clipBounds, VisibleClipBounds, IsClipEmpty, IsVisibleClipEmpty – позволяют настроить параметры отсечения для...
Описание слайда:
Свойства класса Graphics Clip, Graphics, clipBounds, VisibleClipBounds, IsClipEmpty, IsVisibleClipEmpty – позволяют настроить параметры отсечения для объекта Transform – для проведения преобразований координат PageUnit, PageScale, DpiX, DpiY – задают единицы измерения SmoothingMode, PixelOffsetMode, TextRenderingHint – задают плавность пере-ходов для геометрических объектов и текста CompositingMode, CompositingQuality – будет ли графический объект выводиться над фоном или будет происходить мешение с фоном InterpolationMode – определяет интерполяцию между соседними точками

Слайд 21


Система координат по умолчанию
Описание слайда:
Система координат по умолчанию

Слайд 22


Применение других единиц измерения
Описание слайда:
Применение других единиц измерения

Слайд 23


Смена начала координат private void MainForm_Paint(object sender, PaintEventsArgs e) { // Настраиваем единицы измерения e.Graphics.PageUnit =...
Описание слайда:
Смена начала координат private void MainForm_Paint(object sender, PaintEventsArgs e) { // Настраиваем единицы измерения e.Graphics.PageUnit = GraphicsUnit.Point; // Настраиваем новую точку отсчета для системы координат e.Graphics.TranslateTransform(100, 100); // Код для вывода прямоугольника остается прежним e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0, 0, 100, 100); }

Слайд 24


Работа с цветом // Один из множества предопределенных цветов Color c = Color.PapayaWhip // Названия цветов – статические поля
Описание слайда:
Работа с цветом // Один из множества предопределенных цветов Color c = Color.PapayaWhip // Названия цветов – статические поля

Слайд 25


Члены класса Color
Описание слайда:
Члены класса Color

Слайд 26


Возможности класса ColorDialog public class ColorDlgForm : System.Windows.Forms.Form { // Работаем с классом ColorDialog private...
Описание слайда:
Возможности класса ColorDialog public class ColorDlgForm : System.Windows.Forms.Form { // Работаем с классом ColorDialog private System.Windows.Forms.ColorDialog colorDlg; public ColorDlgForm() { colorDlg = new System.Windows.Forms.ColorDialog(); Text = "Click on me to change the color"; this.MouseUp += new MouseEventHandler(this.ColorDlgForm_MouseUp); } ... private void ColorDlgForm_MouseUp(object sender, MouseEventArgs e) { if (colorDlg.ShowDialog() != DialogResult.Cancel) { currColor = colorDlg.Color; this.BackColor = currColor; // Выводим информацию о выбранном цвете string strARGB = colorDlg.Color.ToString(); MessageBox.Show(strARGB, "Color is:"); } } }

Слайд 27


Работа со шрифтами // Создаем объект Font, указывая имя шрифта и его размер Font f = new Font("Times New Roman", 12) // Создаем объект...
Описание слайда:
Работа со шрифтами // Создаем объект Font, указывая имя шрифта и его размер Font f = new Font("Times New Roman", 12) // Создаем объект Font, указывая имя, размер и стиль Font f2 = new Font("Arial", 20, FontStyle.Bold | FontStyle.Underline) // public void DrawString(String, Font, Brush, Point) g.DrawString("My string", new Font("Arial",24), new SolidBrush(Color.Black), new Point (0,0)); // public void DrawString(String, Font, Brush, float, float) g.DrawString("Another string", f2, Brushes.Black,10,30);

Слайд 28


Семейства шрифтов // Создаем объект FontFamily FontFamily myFamily = new FontFamily("Verdana"); // Передаем созданный нами объект как...
Описание слайда:
Семейства шрифтов // Создаем объект FontFamily FontFamily myFamily = new FontFamily("Verdana"); // Передаем созданный нами объект как параметр Font myFont = new Font(myFamily, 12); e.Grapgics,DrawString("Hello",myFont,Brushes.Blue,10,10)

Слайд 29


Приложение с возможностью выбора шрифта public class FontForm: System.Windows.Forms.Form { private Timer timer; private int swellValue; // Этот шрифт...
Описание слайда:
Приложение с возможностью выбора шрифта public class FontForm: System.Windows.Forms.Form { private Timer timer; private int swellValue; // Этот шрифт будет использоваться по умолчанию: private string fontFace = "WingDings"; public FontForm() { // Считаем, что система меню создана при помощи Visual Studio.IDE InitializeComponents(); timer = new Timer(); Text = "Font App"; Width = 425; Height = 150; BackColor = Color.Honeydew; CenterToScreen(); // Настраиваем таймер timer.Enabled = true; timer.Interval = 100; timer.Tick += new EventHandler(FontForm_OnTimer); } }

Слайд 30


Приложение с возможностью выбора шрифта private void FontForm_OnTimer(object sender, EventArgs e) { // При каждом «тике» размер шрифта увеличивается...
Описание слайда:
Приложение с возможностью выбора шрифта private void FontForm_OnTimer(object sender, EventArgs e) { // При каждом «тике» размер шрифта увеличивается на 5 swellValue += 5; // При достижении максимального размера уменьшаем размер до 0 if(swellValue >= 50) swellValue = 0; // Перерисовываем нужную нам прямоугольную область Invalidate(new Rectangle(0, 0, ClientRectangle.Width, 100)); }

Слайд 31


Приложение с возможностью выбора шрифта private void FontForm_Paint(object sender, PaintEventsArgs e) { Graphics g = e.Graphics; // Размер шрифта...
Описание слайда:
Приложение с возможностью выбора шрифта private void FontForm_Paint(object sender, PaintEventsArgs e) { Graphics g = e.Graphics; // Размер шрифта будет меняться между 12 и 62 в зависимости от текущего значения swellValue Font theFont = new Font(fontFace, 12 + swellValue); string message = "Hello GDI+"; // Выводим сообщение по центру формы float windowCenter = this.DisplayRectangle.Width/2; SizeF stringSize = g.MeasureString(message, theFont); float startPos = windowCenter - (stringSize.Width/2); g.DrawString(message, theFont, new SolidBrush(Color.Blue), startPos, 10); }

Слайд 32


Обработка команд меню private void FormatFont_Clicked(object sender, EventArgs e) { cmiFontChecked.Checked = false; MenuItem miClicked =...
Описание слайда:
Обработка команд меню private void FormatFont_Clicked(object sender, EventArgs e) { cmiFontChecked.Checked = false; MenuItem miClicked = (MenuItem)sender; fontFace = miClicked.Text.Remove(0,1); if (fontFace == "Arial") cmiFontChecked = cmiArial; else if (fontFace == "Times New Roman") cmiFontChecked = cmiTimesNewRoman; else if (fontFace == "WingDings") cmiFontChecked = cmiWingDings; cmiFontChecked.Checked = true; Invalidate(); }

Слайд 33


Информация об установленных шрифтах public class FontForm : System.Windows.Forms.Form { // Для хранения списка шрифтов private string installedFonts;...
Описание слайда:
Информация об установленных шрифтах public class FontForm : System.Windows.Forms.Form { // Для хранения списка шрифтов private string installedFonts; // Обработчик события меню для вывода списка установленных в системе шрифтов private void mnuConfigShowFonts_Clicked(object sender, EventArgs e) { InstalledFontCollection fonts = new InstalledFontCollection(); for(int i=0; i < fonts.Families.Lenght; i++) { installedFonts += fonts.Families[i].Name + " "; } // На этот раз нам потребуется перерисовать всю клиентскую область // формы, поскольку вывод полученных значений будет производиться в // нижнюю часть формы Invalidate(); } ... }

Слайд 34


Вывод информации в нижнюю часть формы private void FontForm_Paint(object sender, PaintEventArgs e) { Graphics g = g.Graphics; Font theFont = new...
Описание слайда:
Вывод информации в нижнюю часть формы private void FontForm_Paint(object sender, PaintEventArgs e) { Graphics g = g.Graphics; Font theFont = new Font(fontFace, 12 + swellValue); string message = "Hello GDI+"; // Выводим сообщение "Hello GDI+" по центру формы float windowCenter = this.DisplayRectangle.Width/2; SizeF stringSize = g.MeasureString(message, theFont); float startPos = windowCenter - (stringSize.Width/2); g.DrawString(message, theFont, new SolidBrush(Color.Blue), startPos, 10); // Выводим информацию об установленных шрифтах под занятой областью Rectangle myRect = new Rectangle(0, 100, ClientRectangle.Width, ClientRectangle.Height); // Будем рисовать в этой области белым по черному g.FillRectangle(newSolidBrush(Color.Black), myRect); g.DrawString(installedFonts, new Font("Arial", 12), new SolidBrush(Color.White), myRect); }

Слайд 35


Обработка события Resize private void FontForm_Resize(object sender, System.EventArgs e) { Rectangle myRect = new Rectangle(0, 100,...
Описание слайда:
Обработка события Resize private void FontForm_Resize(object sender, System.EventArgs e) { Rectangle myRect = new Rectangle(0, 100, ClientRectangle.Width, ClientRectangle.Height); Invalidate(myRect); }

Слайд 36


Класс FontDialog public class FontDlgForm : System.Windows.Forms.Form { private System.Windows.Forms.FontDialog fontDlg; private Font currFont; //...
Описание слайда:
Класс FontDialog public class FontDlgForm : System.Windows.Forms.Form { private System.Windows.Forms.FontDialog fontDlg; private Font currFont; // Обработчик события Paint private void FontDlgForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; g.DrawString("Testing...", currFont, new SolidBrush(Color.Black), 0, 0); } public FontDlgForm() { CenterToScreen(); fontDlg = new System.Windows.Forms.FontDialog(); fontDlg.ShowHelp = true; Text = "Click on me to change the font"; currFont = new Font("Times New Roman", 12); ... } // Обработчик события MouseUp private void FontDlgForm_MouseUp(object sender, MouseEventArgs e) { if (fontDlg.ShowDialog() != DialogResult.Cancel) { currFont = fontDlg.Font; Invalidate(); } } }

Слайд 37


Классы System.Drawing.Drawing2D
Описание слайда:
Классы System.Drawing.Drawing2D

Слайд 38


Перечисления System.Drawing.Drawing2D
Описание слайда:
Перечисления System.Drawing.Drawing2D

Слайд 39


Определение качества вывода графического объекта private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; //...
Описание слайда:
Определение качества вывода графического объекта private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Устанавливаем качество вывода графического объекта g.SmoothingMode = SmoothingMode.AntiAlias; // Еще лучше – HighQuality // Еще быстрее - HighSpeed }

Слайд 40


Рисование пером
Описание слайда:
Рисование пером

Слайд 41


Некоторые свойства класса Pen
Описание слайда:
Некоторые свойства класса Pen

Слайд 42


Работа с перьями private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Создаем большое перо синего цвета Pen...
Описание слайда:
Работа с перьями private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Создаем большое перо синего цвета Pen bluePen = new Pen(Color.Blue, 20); // Создаем еще одно перо при помощи заготовок из коллекции Pens Pen pen2 = Pens.Firebrick; // Выводим при помощи созданных нами перьев геометрические фигуры g.DrawEllipse(bluePen, 10, 10, 100, 100); g.DrawLine(pen2, 10, 130, 110, 130); g.DrawPie(Pens.Black, 150, 10, 120, 150, 90, 80); // Выводим многоугольник пурпурного цвета Pen pen3 = new Pen(Color.Purple, 5); pen3.DashStyle = DashStyle.DashDotDot; g.DrawPolygon(pen3, new Point[] { new Point (30, 140), new Point(265, 200), new Point(100, 225), new Point(190, 190), new Point(50, 330), new Point(20, 180),} ); // Добавляем прямоугольник со вписанным нами текстом Rectangle r = new Rectangle(150, 10, 130, 60); g.DrawRectangle(Pens.Blue, r); g.DrawString("Hello out there...How are ya?", new Font("Arial", 12), Brushes.Black, r); }

Слайд 43


Работаем с наконечниками перьев (Перечисление LineCap)
Описание слайда:
Работаем с наконечниками перьев (Перечисление LineCap)

Слайд 44


Наконечники перьев private void MainForm_Paint (object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen thePen = new Pen(Color.Black, 10);...
Описание слайда:
Наконечники перьев private void MainForm_Paint (object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen thePen = new Pen(Color.Black, 10); int yOffSet = 10; // Получаем все значения перечисления LineCap Array obj = Enum.GetValues(typeof(LineCap)); // Выводим линию с использованием значения из LineCap for(int x = 0; x < obj.Length; x++) { // Настраиваем "наконечник" пера LineCap temp = (LineCap)obj.GetValue(x); thePen.StartCap = temp; thePen.EndCap = temp; // Выводим имя значения перечисления g.DrawString(temp.ToString(), new Font("Times New Roman", 10), new SolidBrush(Color.Black), 0, yOffSet); // Выводим линию с выбранным наконечником g.DrawLine(thePen, 100, yOffSet, Width - 50, yOffSet); yOffSet += 40; } }

Слайд 45


Работаем с кистью
Описание слайда:
Работаем с кистью

Слайд 46


Работа с кистью private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Создаем "плотную кисть" —...
Описание слайда:
Работа с кистью private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Создаем "плотную кисть" — SolidBrush — синего цвета SolidBrush blueBrush = new SolidBrush(Color.Blue); // Создаем еще одну кисть при помощи заранее готовой коллекции Brushes SolidBrush pen2 = (SolidBrush)Brushes.Firebrick; // Закрашиваем этими кистями геометрические фигуры g.FillEllipse(blueBrush, 10, 10, 100, 100); g.FillPie(Brushes.Black, 150, 10, 120, 150, 90, 80); // Закрашиваем многоугольник пурпурным цветом SolidBrush brush3 = new SolidBrush(Color.Purple); g.FillPolygon(brush3, new Point[]{ new Point(30, 140), new Point(265, 200), new Point(100, 225), new Point(190, 190), new Point(50, 330), new Point(20, 180)} ); // и прямоугольник с текстом — синим: Rectangle r = new Rectangle(150, 10, 130, 60); g.FillRectangle(Brushes.Blue, r); g.DrawString("Hello out there...Now are ya?", new Font("Arial", 12), Brushes.White, r); }

Слайд 47


Работаем со штриховыми кистями (Перечисление HatchStyle)
Описание слайда:
Работаем со штриховыми кистями (Перечисление HatchStyle)

Слайд 48


Работаем со штриховыми кистями private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; int yOffSet = 10; // Помещаем...
Описание слайда:
Работаем со штриховыми кистями private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; int yOffSet = 10; // Помещаем в массив все члены перечисления HatchStyle Array obj = Enum.GetValues(typeof(HatchStyle)); // Выводим эллипс со штриховкой, соответствующей членам перечисления HatchStyle // с 1 по 10 for(int x =0; x < 10; x++) { // Настраиваем кисть HatchStyle temp = (HatchStyle)obj.GetValue(x); HatchBrush theBrush = new HatchBrush(temp, Color.White, Color.Black); // Выводим имя каждого из значений перечисления g.DrawString(temp.ToString(), new Font("Times New Roman", 10), new SolidBrush (Color.Black), 0, yOffSet); // Закрашиваем эллипс штриховой кистью g.FillEllipse(theBrush, 150, yOffSet, 200, 25); yOffSet += 40; } }

Слайд 49


Работаем с текстурными кистями public class MainForm : System.Windows.Forms.Form { // Потребуются переменные типа Brush для загрузки изображений...
Описание слайда:
Работаем с текстурными кистями public class MainForm : System.Windows.Forms.Form { // Потребуются переменные типа Brush для загрузки изображений private Brush texturedTextBrush; private Vrush texturedBGroundBrush; public MainForm() { ... // Загружаем изображение для текстуры формы Image bGroundBrushImage = new Bitmap(Coluds.bmp"); texturedBGrounBrush = new TextureBrush(bBroundBrushImage); // Загружаем изображение для текстуры теста Image textBrushImage = new Bitmap("Soap Bubbles.bmp"); texturedTextBrush = new TextureBrush(textBrushImage); } ... }

Слайд 50


Используем текстурные кисти private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Rectangle r = ClientRectangle; //...
Описание слайда:
Используем текстурные кисти private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Rectangle r = ClientRectangle; // Выводим облака на форме g.FillRectangle(texturedBGroundBrush, r); // Текст должен быть большим — чтобы можно было разглядеть текстуру g.DrawString ("Bitmaps as brushes! Way cool...", new Font("Arial", 60, FontStyle.Bold | FontStyle.Italic), texturedTextBrush, r); }

Слайд 51


Работа с градиентными кистями private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Rectangle r = new Rectangle(10,...
Описание слайда:
Работа с градиентными кистями private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Rectangle r = new Rectangle(10, 10, 100, 100); LinearGradientBrush theBrush = null; int yOffSet = 10; // Получаем все значения перечисления LinearGradientMode Array obj = Enum.GetValues(typeof(LinearGradientMode)); // Выводим прямоугольник, используя значения LinearGradientMode for(int x = 0; x < obj.Length; x++) { // Настраиваем кисть LinearGradientMode temp = (LinearGradientMode)obj.GetValue(x); theBrush = new LinearGradientBrush(r, Color.Red, Color.Blue, temp); // Выводим имя значения перечисления g.DrawString(temp.ToString(), new Font("Times New Roman", 10), new SolidBrush(Color.Black), 0, yOffSet); // Заполняем прямоугольник при помощи градиентной кисти g.FillRectangle(theBrush, 150, yOffSet, 200, 50); yOffSet += 80; } }

Слайд 52


Вывод изображений Члены класса Image
Описание слайда:
Вывод изображений Члены класса Image

Слайд 53


Вывод изображений public class mainForm : System.Windows.Forms.Form { // Объявляем переменные типа Image private Image bMapImageA; private Image...
Описание слайда:
Вывод изображений public class mainForm : System.Windows.Forms.Form { // Объявляем переменные типа Image private Image bMapImageA; private Image bMapImageB; private Image bMapImageC; public MainForm() { ... // Используем для этих переменных объекты класса Bitmap bMapImageA = new Bitmap("ImageA.bmp"); bMapImageB = new Bitmap("ImageB.bmp"); bMapImageC = new Bitmap("ImageC.bmp"); } ... }

Слайд 54


Вывод изображений private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; // Выводим изображения...
Описание слайда:
Вывод изображений private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; // Выводим изображения g.DrawImage(bMapImageA, 10, 10, 90, 90); g.DrawImage(bMapImageB, rectB); g.DrawImage(bMapImageC, rectC); }

Слайд 55


Форматы изображений // Тип Bitmap поддерживает все распространенные форматы! Bitmap myBMP = new Bitmap("CoffeeCup.bmp"); Bitmap myGIF = new...
Описание слайда:
Форматы изображений // Тип Bitmap поддерживает все распространенные форматы! Bitmap myBMP = new Bitmap("CoffeeCup.bmp"); Bitmap myGIF = new Bitmap("Candy.gif"); Bitmap myJPEG = new Bitmap("Clock.jpg"); Bitmap myPNG = new Bitmap("Speakers.png"); Bitmap myTIFF = new Bitmap("FooFighters.bmp"); // Выводим изображения при помощи Graphics.DrawImage() g.DrawImage(myBmp, 10, 10); g.DrawImage(myGIF, 220, 10); g.DrawImage(myJPEG, 280, 10); g.DrawImage(myPNG, 150, 200); g.DrawImage(myTIFF, 300, 200);

Слайд 56


Методы Add класса GraphicsPath AddArc AddBezier AddBeziers AddclosedCurves AddCurve AddEllipse AddLine
Описание слайда:
Методы Add класса GraphicsPath AddArc AddBezier AddBeziers AddclosedCurves AddCurve AddEllipse AddLine

Слайд 57


Построение пути public MainForm : System.Windows.Forms.Form { // Создаем объект GraphicsPath GraphicsPath myPath = new GraphicsPath(); public...
Описание слайда:
Построение пути public MainForm : System.Windows.Forms.Form { // Создаем объект GraphicsPath GraphicsPath myPath = new GraphicsPath(); public MainForm() { // Добавляем в объект GraphicsPath элементы, из которых он будет состоять myPath.StartFigure(); myPath.AddLine(new Point(150, 10), new Point(120, 150)); myPath.AddArc(200, 200, 100, 100, 0, 90); Point point1 = new Point(250, 250); Point point2 = new Point(350, 275); Point point3 = new Point(350, 325); Point point4 = new Point(250, 350); Point[] points = {point1, point2, point3, point4}; myPath.AddCurve(points); myPath.CloseFigure(); ... } }

Слайд 58


Проверка попадания в фигуру private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { // Get (x, y) of mouse click. Point...
Описание слайда:
Проверка попадания в фигуру private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { // Get (x, y) of mouse click. Point mousePt = new Point(e.X, e.Y); // See if the mouse is anywhere in the 3 regions... if (rectA.Contains(mousePt)) { isImageClicked = true; imageClicked = 0; this.Text = "You clicked image A"; } … else if (myPath.IsVisible(mousePt)) { isImageClicked = true; imageClicked = 3; this.Text = "You clicked the strange shape..."; } else // Not in any shape, set defaults. { isImageClicked = false; this.Text = "Images"; } // Redraw the client area. Invalidate(); }

Слайд 59


Выводим объект GraphicsPath private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; ... // Выводим объект...
Описание слайда:
Выводим объект GraphicsPath private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; ... // Выводим объект GraphicsPath g.FillPath(Brushes.AliceBlue, myPath); // Обводим этот объект рамкой (по щелчку) if(isImageClicked = = true) { Pen outline = new Pen(Color.red, 5); switch(imageClicked) { ... case 3: g.DrawPath(outline, myPath); break; default: break; } } }

Слайд 60


Ресурсы *.resx *.resources ResourceManager ResourceWriter ResourceReader
Описание слайда:
Ресурсы *.resx *.resources ResourceManager ResourceWriter ResourceReader

Слайд 61


Что еще? Элементы управления Ввод/вывод и сериализация объектов Взаимодействие с DLL, созданными на С и VB 6.0 Доступ к данным ADO.NET Разработка...
Описание слайда:
Что еще? Элементы управления Ввод/вывод и сериализация объектов Взаимодействие с DLL, созданными на С и VB 6.0 Доступ к данным ADO.NET Разработка Web-приложений Web-службы



Похожие презентации
Mypresentation.ru
Загрузить презентацию