Презентация Графика. Важные пространства имен онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Графика. Важные пространства имен абсолютно бесплатно. Урок-презентация на эту тему содержит всего 61 слайд. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Графика. Важные пространства имен
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:61 слайд
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:1.19 MB
- Просмотров:64
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№6 слайд
![Тип Point PointF namespace](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img5.jpg)
Содержание слайда: Тип 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;
}
}
}
№9 слайд
![Работа метода Contains public](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img8.jpg)
Содержание слайда: Работа метода 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;
}
№12 слайд
![Сеансы вывода графики public](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img11.jpg)
Содержание слайда: Сеансы вывода графики (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 слайд
![Сеансы вывода графики вариант](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img12.jpg)
Содержание слайда: Сеансы вывода графики (вариант 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 слайд
![Как сделать клиентскую](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img13.jpg)
Содержание слайда: Как сделать клиентскую область вашего приложения недействительной
public class MainForm : Form
{
...
private void MainForm_Paint(object sender, PaintEventArgs e)
{
Graphics g = g.Graphics;
// Логика для вывода изображения
...
}
private void GetNewBitmap()
{
// Выводим окно диалога и получаем выбранное изображение
...
// А теперь перерисовываем клиентскую часть формы
Invalidate();
}
}
№17 слайд
![Правильный вывод графики](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img16.jpg)
Содержание слайда: «Правильный» вывод графики
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](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img17.jpg)
Содержание слайда: Возможности класса Graphics
FromHdc(), FromHwnd(), FromImage() – статические методы, обеспечивают возможность получения объекта Graphics из элемента управления или изображения
Clear() – заполняет объект Graphics выбранным цветом, удаляя предыдущее содержимое
MeasureString() – возвращает структуру Size, представляющую границы блока текста
№19 слайд
![Методы рисования класса](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img18.jpg)
Содержание слайда: Методы рисования класса Graphics
DrawArc(), DrawBezier(), DrawBeziers(), DrawCurve(), DrawEllipse(), DrawIcon(), DrawLine(), DrawLines(), DrawPie(), DrawPath(), DrawRectangle(), DrawRectangles(), DrawString() – все это методы вывода изображений
FillEllipse(), FillPath(), FillPie(), FillPolygon(), FillRectangle() – заполнение внутренних областей объектов
№20 слайд
![Свойства класса Graphics](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img19.jpg)
Содержание слайда: Свойства класса Graphics
Clip, Graphics, clipBounds, VisibleClipBounds, IsClipEmpty, IsVisibleClipEmpty – позволяют настроить параметры отсечения для объекта
Transform – для проведения преобразований координат
PageUnit, PageScale, DpiX, DpiY – задают единицы измерения
SmoothingMode, PixelOffsetMode, TextRenderingHint – задают плавность пере-ходов для геометрических объектов и текста
CompositingMode, CompositingQuality – будет ли графический объект выводиться над фоном или будет происходить мешение с фоном
InterpolationMode – определяет интерполяцию между соседними точками
№23 слайд
![Смена начала координат](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img22.jpg)
Содержание слайда: Смена начала координат
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);
}
№26 слайд
![Возможности класса](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img25.jpg)
Содержание слайда: Возможности класса 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 слайд
![Работа со шрифтами Создаем](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img26.jpg)
Содержание слайда: Работа со шрифтами
// Создаем объект 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);
№29 слайд
![Приложение с возможностью](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img28.jpg)
Содержание слайда: Приложение с возможностью выбора шрифта
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 слайд
![Приложение с возможностью](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img29.jpg)
Содержание слайда: Приложение с возможностью выбора шрифта
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 слайд
![Приложение с возможностью](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img30.jpg)
Содержание слайда: Приложение с возможностью выбора шрифта
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](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img31.jpg)
Содержание слайда: Обработка команд меню
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 слайд
![Информация об установленных](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img32.jpg)
Содержание слайда: Информация об установленных шрифтах
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 слайд
![Вывод информации в нижнюю](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img33.jpg)
Содержание слайда: Вывод информации в нижнюю часть формы
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);
}
№36 слайд
![Класс FontDialog public class](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img35.jpg)
Содержание слайда: Класс 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();
}
}
}
№39 слайд
![Определение качества вывода](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img38.jpg)
Содержание слайда: Определение качества вывода графического объекта
private void MainForm_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
// Устанавливаем качество вывода графического объекта
g.SmoothingMode = SmoothingMode.AntiAlias;
// Еще лучше – HighQuality
// Еще быстрее - HighSpeed
}
№42 слайд
![Работа с перьями private void](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img41.jpg)
Содержание слайда: Работа с перьями
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);
}
№44 слайд
![Наконечники перьев private](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img43.jpg)
Содержание слайда: Наконечники перьев
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;
}
}
№46 слайд
![Работа с кистью private void](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img45.jpg)
Содержание слайда: Работа с кистью
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);
}
№48 слайд
![Работаем со штриховыми](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img47.jpg)
Содержание слайда: Работаем со штриховыми кистями
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 слайд
![Работаем с текстурными](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img48.jpg)
Содержание слайда: Работаем с текстурными кистями
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 слайд
![Используем текстурные кисти](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img49.jpg)
Содержание слайда: Используем текстурные кисти
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 слайд
![Работа с градиентными кистями](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img50.jpg)
Содержание слайда: Работа с градиентными кистями
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;
}
}
№53 слайд
![Вывод изображений public](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img52.jpg)
Содержание слайда: Вывод изображений
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");
}
...
}
№55 слайд
![Форматы изображений Тип](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img54.jpg)
Содержание слайда: Форматы изображений
// Тип 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);
№57 слайд
![Построение пути public](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img56.jpg)
Содержание слайда: Построение пути
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 слайд
![Проверка попадания в фигуру](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img57.jpg)
Содержание слайда: Проверка попадания в фигуру
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](/documents_6/3f9e339bc8ec18ad42eefbb5743c4d6f/img58.jpg)
Содержание слайда: Выводим объект 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;
}
}
}
Скачать все slide презентации Графика. Важные пространства имен одним архивом:
Похожие презентации
-
Пространство имен в XML документе. Java. (Лекция 12)
-
Основы С. Платформа Microsoft. NET. Основные понятия. Пространство имен. (Лекция 1)
-
Файлы и пространство имен System. IO
-
История развития и области применения компьютерной графики
-
Дополнения к XML. Пространства имен. (Лекция 4)
-
Операторы Делегаты и события. Атрибуты. Свойства и индексаторы. Пространство имен. (Лекция 5)
-
Графика в Pascal
-
Применение Matlab для обработки данных, полученных от детекторов космических излучений
-
Интерактивная компьютерная графика
-
Поворот ломаной линии, заданной точками в трёхмерном декартовом пространстве, вокруг всех осей на заданные углы