Lektsia_6VP
.pdfКривые Безье (DrawBezier)
Версии метода DrawBezier:
•public void DrawBezier(Pen, Point, Point, Point, Point);
•public void DrawBezier(Pen, PointF, PointF, PointF, PointF);
•public void DrawBezier(Pen, float, float, float, float, float, float, float, float);
Версии метода DrawBeziers:
•public void DrawBeziers(Pen, Point[]);
•public void DrawBeziers(Pen, PointF[]);
31
Канонические сплайны (DrawCurve)
Простейшие версии методов DrawCurve и DrawCurveClosed:
•public void DrawCurve(Pen, Point[]);
•public void DrawCurve(Pen, PointF[]);
•public void DrawCurveClosed(Pen, Point[]);
•public void DrawCurveClosed(Pen, PointF[]);
32
|
Закрашенные фигуры |
Метод |
Описание |
|
|
FillRectangle |
Рисование закрашенного прямоугольника |
|
|
FillRectangles |
Рисование множества закрашенных многоугольников |
|
|
FillPolygon |
Рисование закрашенного многоугольника |
|
|
FillEllipse |
Рисование закрашенного эллипса |
|
|
FillPie |
Рисование закрашенного сегмента эллипса |
|
|
FillClosedCurve |
Рисование закрашенного сплайна |
|
|
FillRegion |
Рисование закрашенной области типа Region |
|
33 |
|
|
Растровые и векторные изображения
Форматы изображений ОС MS Windows:
•аппаратно-зависимый DDB (Device-Dependent Bitmap);
•аппаратно-независимый DIB (Device-Independent Bitmap);
Принципы представления изображения:
•растровые изображения;
•Векторные изображения.
34
Преимущества и недостатки растровых изображений (в сравнении с векторными)
(+) большая скорость вывода (поскольку их структура аналогична структуре видеопамяти);
(–) большой объём памяти для хранения;
(–) невозможность масштабирования без потери качества;
(–) сложность выделения и изменения отдельных объектов изображения.
35
Значки (Класс Icon)
Конструкторы Icon:
•public Icon(Stream)
•public Icon(String)
•public Icon(Icon, Size)
•public Icon(Stream, Size)
•public Icon(String, Size)
•public Icon(Type, String)
•public Icon(Icon, Int32, Int32)
•public Icon(Stream, Int32, Int32)
• public Icon(String, Int32, Int32) |
36 |
|
Значки (метод DrawIcon)
Версии метода DrawIcon:
•public void DrawIcon(Icon, Rectangle)
•public void DrawIcon(Icon, Int32, Int32)
•public void DrawIconUnstretched(Icon, Rectangle)
37
Значки (метод DrawIcon)
// Создание объекта Icon.
Icon icon1 = new Icon(SystemIcons.Exclamation, 40, 40); Rectangle r = new Rectangle(70, 30, 15, 15);
//Отрисовка значка. e.Graphics.DrawIcon(icon1, r);
//Отрисовка значка без масштабирования. e.Graphics.DrawIconUnstretched(icon1, r);
//Вызов метода ToBitmap для конвертирования в Bitmap. Bitmap bmp = icon1.ToBitmap();
//Отрисовка изображения bitmap. e.Graphics.DrawImage(bmp, new Point(30, 30));
38
Загрузка изображения (Класс Image)
Метод Image.FromFile (загрузка изображения):
•public static Image.FromFile(String)
•public static Image.FromFile(String, Bool)
(второй параметр – useEmbeddedColorManagement)
Загрузка точечного изображения:
Image pic = new Bitmap(String);
39
Вывод изображения (DrawImage)
Метод DrawImage:
• public void DrawImage(Image, Rectangle)
Варианты метода:
•DrawImage – вывод с масштабированием
•DrawImageUnscaled – вывод без масштабирования
•DrawImageUnscaledAndClipped – вывод без
масштабирования с обрезкой
40