Простейшие графические возможности

В пространстве имен System.Drawing − определены главные структуры для представления:

· точки (координат) − Point и PointF

· размера − Size и SizeF

· прямоугольных областей − Rectangle и RectangleF.

Буковка F в конце наименования структуры значит, что, в отличие от обыденных структур (без F), поля структуры имеют не целочисленные значения, а значения вещественного типа (float).

Структура Size

Структура Простейшие графические возможности Size создана для хранения ширины и высоты объекта и имеет, для этого, надлежащие открытые характеристики Width и Height, доступные как для записи, так и для чтения. При разработке объекта Size, при помощи конструктора по дефлоту:

Size sz = new Size();

характеристики Width и Height инсталлируются в ноль.

Поменять значения Простейшие графические возможности параметров в последствии можно, к примеру, последующим образом:

sz.Width = 40;

sz.Height = 60;

Структура содержит два конструктора с аргументами:

public Size(int, int);

public Size(Point);

Конструкторы с аргументами позволяют, в момент сотворения, инициализировать различные экземпляры структуры по-разному:

Size sz1= new Size(10,20); // sz1.Width = 10, sz1.Height = 20 Size sz2 = new Простейшие графические возможности Size(15,50); // sz2.Width = 15, sz2.Height = 50

Структура Point

Структура Point содержит открытые характеристики X и Y целого типа, доступные, как для записи, так и для чтения.

Для сотворения точки “pt” можно использовать конструктор по дефлоту:

Point pt = new Point();

Конструктор по дефлоту при разработке точки обнуляет значения параметров X и Y Простейшие графические возможности.

В предстоящем координаты точки можно поменять, к примеру, последующим образом:

pt.X =25;

pt.Y=75;

Инициализировать новейшую точку класса Point, можно используя,

конструкторы с аргументами:

public Point(Size);

public Point(int, int);

К примеру:

Point pt1 = new Point(10,20); // pt1.X =10, pt1.Y=20

Size sz = new Size(27,45);

Point pt2 = new Point(sz); // pt Простейшие графические возможности2.X=27, pt2.Y=45

Открытый способ структуры:

publicvoidOffset(intdx,intdy);изменяет текущие координаты точки по формулам:X=X+dx и Y=Y+dy;

Структура Rectangle

Структура создана для определения координат и размера прямоугольника. Структура содержит открытые характеристики, часть из которых доступна только для чтения, а часть, как для чтения, так и для записи Простейшие графические возможности.

В структуре определены два конструктора с аргументами:

public Rectangle(

int x, // x-координата левого верхнего угла прямоугольника

int y, // y-координата левого верхнего угла прямоугольника

int width, // ширина прямоугольника

int height // высота прямоугольника

);

public Rectangle(

Point location, // координата левого верхнего угла прямоугольника

Size size // размер прямоугольника

);

При помощи этих конструкторов можно определять размеры и положение Простейшие графические возможности прямоугольников при их разработке:

Point pt = new Point(10,15);

Size sz = new Size (50,70);

Rectangle rct = new Rectangle(pt,sz);

Rectangle rect = new Rectangle(20,20,50,30);

Структура Rectangle содержит ряд доступных способов. Разглядим некие из их.

Способ:

public void Intersect(Rectangle);

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

К примеру:

Rectangle rect,rct;

rect = new Rectangle(20,25,50,55);

rct = new Rectangle(10,10,30,40);

rect.Intersect(rct);

выполнение, приведенного куска кода установит значения характеристики структуры прямоугольника rect последующим образом:

X=20, Y=25, Width=20, Height=25.

Способ:

public static Rectangle Union( Rectangle a, Rectangle b);

Возвращает структуру, описывающий малый Простейшие графические возможности по размерам прямоугольник, включающий в себя прямоугольники a и b.

Способы public void Offset(Point pos) и public void Offset( int x, int y) сдвигают координаты левой верхней точки прямоугольника по обеим осям на величину, задаваемую параметрами способов.

Представление цвета

Представление цвета осуществляется при помощи экземпляров структуры System Простейшие графические возможности.Drawing.Color.

Для задания цвета употребляется статический способ класса:

public static Color.FromArgb( int red, int green, int blue);

Характеристики способа red, green и blue задают интенсивность красноватой, зеленоватой и голубой составляющей цвета. Значение каждой составляющие цвета может изменяться в спектре от 0 до 255. Это позволяет показать 224 разных цветов.

Для Простейшие графические возможности задания цвета можно также использовать один из перегруженных способов FromArgb:

public static Color FromArgb(int alpha, Color cr);

public static Color FromArgb(int alpha, int red, int green, int blue);

Дополнительный параметр alpha задает степень прозрачности цвета. Чем меньше это число, тем меньше насыщенность цвета и тем паче прозрачным является этот цвет Простейшие графические возможности. Значение параметра alpha может изменяться в спектре от 0 до 255. Значение 0 определяет вполне прозрачный (тусклый), а значение 255 − на сто процентов насыщенный (непрозрачный) цвет.

Структура Color содержит более 200 статических параметров, доступных только для чтения. Эти характеристики задают именованные либо, так именуемые, Веб − цвета, которые верно воспроизводятся всеми WEB браузерами.

К Простейшие графические возможности примеру:

Color clr2 = Color.Beige; // бежевый

Color clr3 = Color.Magenta; // сиреневый

Color clr4 = Color.Orange; // оранжевый

Кисти и перья

Графические объекты рисуются при помощи перьев и кистей.

Сплошные кисти создаются как экземпляры класса System.Drawing.SolidBrush, к примеру:

Brush br2 = new SolidBrush(Color.Magenta);

Brush br3 = new SolidBrush(Color.FromArgb(200,10,120));

Параметр color конструктора public Простейшие графические возможности SolidBrush(Color color)

класса SolidBrush задает цвет сплошной кисти.

В классе System.Drawing.Brushes определено огромное количество статических параметров, возвращающих кисть Веб цветов. Создание таких кистей смотрится последующим образом:

Brush brr = Brushes.Orange;

В классе System.Drawing.Drawing2D.HatchBrush определены штриховые кисти.

Конструкторы класса:

public HatchBrush Простейшие графические возможности(HatchStyle hatchstyle, Color foreColor, Color backColor);

public HatchBrush(HatchStyle hatchstyle, Color foreColor);

Характеристики:

foreColor − цвет штришка кисти;

backColor − цвет фонового штришка кисти (по дефлоту − темный цвет);

hatchstyle − стиль штриховой кисти.

Существует огромное количество доступных стилей, более обычными являются:

Cross − решетчатая кисть;

DiagonalCross − диагональная решетчатая кисть;

Horizontal − горизонтальная штриховка;

Vertical − вертикальная Простейшие графические возможности штриховка.

К примеру, создание кисти с вертикальной штриховкой голубого цвета и фоновым штрихом бежевого цвета будет смотреться последующим образом:

Brush br1 = new HatchBrush(HatchStyle.Vertical,Color.Blue,Color.Beige);

Перья описываются классом System.Drawing.Pen.

Конструкторы класса:

public Pen(Color color);

public Pen(Color color, float width);

public Простейшие графические возможности Pen( Brush brush);

public Pen(Brush brush, float width);

Характеристики:

color − цвет пера;

width − толщина пера;

brush −кисть.

Примеры сотворения перьев:

Pen pn = new Pen(Color. Magenta);

Pen pn1 = new Pen(Color.Orange,5);

Pen pn2 = new Pen(Brushes.Orange);

Pen pn3 = new Pen(Brushes.Magenta,10);

Pen pn4 = new Простейшие графические возможности Pen(Color.FromArgb(125,155, 0));

Pen pn5 = new Pen(Color.FromArgb(25,155,200),10);

В классе System.Drawing.Pens содержится огромное количество статических параметров, описывающих перья с веб цветом и шириной в один пиксель. Создание таких перьев смотрится последующим образом:

Pen pn6 = Pens.Brown;

Pen pn7 = Pens.Magenta;

Рисование линий и фигур

Для вывода текстовой и графической инфы Простейшие графические возможности в окно приложения нужно использовать контекст устройства.

Контекст устройства в среде .NET инкапсулирован («завернут») в базисном классе System.Drawing.Graphics. Для сотворения объекта класса Graphics нужно использовать способ CreateGraphics(), ворачивающий ссылку на объект класса Graphics:

Graphics dc = CreateGraphics();

Приобретенный объект dc содержит контекст устройства, позволяющий производить вывод инфы Простейшие графические возможности в окно приложения.

Класс Graphics содержит огромное количество способов, позволяющих отрисовывать разные графические фигуры. Разглядим некие из их.

Рисование контуров прямоугольников осуществляется при помощи способов:

public void DrawRectangle( Pen pen, Rectangle rect);

public void DrawRectangle( Pen pen, int x, int y, int width, int height);

public void DrawRectangle Простейшие графические возможности( Pen pen, float x, float y, float width, float height);

Рисование контуров эллипсов осуществляется при помощи способов:

public void DrawEllipse ( Pen pen, Rectangle rect);

public void DrawEllipse ( Pen pen, int x, int y, int width, int height);

public void DrawEllipse ( Pen pen, float x, float y, float width, float height);

Рисование Простейшие графические возможности закрашенных эллипсов и прямоугольников осуществляется при помощи способов:

public void FillEllipse( Brush brush, Rectangle rect);

public void FillEllipse( Brush brush, int x, int y, int width, int height);

public void FillEllipse( Brush brush, float x, float y, float width, float height);

public void FillRectangle( Brush brush, Rectangle rect Простейшие графические возможности);

public void FillRectangle( Brush brush, int x, int y, int width, int height);

public void FillRectangle( Brush brush, float x, float y, float width, float height);

Характеристики способов означают последующее:

pen − перо;

brush − кисть;

rect − прямоугольник;

х − координата х левого верхнего угла прямоугольника;

y − координата у левого верхнего угла прямоугольника Простейшие графические возможности;

width − ширина прямоугольника;

height −высота прямоугольника;

Рисование линий осуществляется при помощи перегруженных способов:

public void DrawLine(Pen pen, Point pt1, Point pt2);

public void DrawLine(Pen pen, PointF pt1, PointF pt2);

public void DrawLine(Pen pen, int x1, int y1, int x2, int y2);

public void DrawLine Простейшие графические возможности(Pen pen, float x1, float y1, float x2, float y2);

Характеристики способов означают последующее:

pen − перо;

pt1 − исходная точка рисования;

pt2 − конечная точка рисования;

х1 и у1 − координаты исходной точки рисования;

х2 и у2 − координаты конечной точки рисования;

Примеры использоания функций:

dc.DrawRectangle(Pens.OrangeRed,5,10,25,45);

dc.DrawEllipse(Pens Простейшие графические возможности.Magenta,100,125,20,15);

dc.FillEllipse(Brushes.BlueViolet,45,50,20,15);

dc.DrawLine(Pens.Green,20,40,60,70);

Рисование текста

Для рисования текста употребляют перегруженный способ DrawString. Разглядим два из 6 перегруженных способов DrawString:

public void DrawString(string s, Font fnt, Brush br, PointF pt);

public void DrawString(string s, Font fnt, Brush br, RectangleF ltRct);

Характеристики:

s –строчка знаков,

fnt – шрифт Простейшие графические возможности текста,

br – кисть,

pt – точка, определяющая координаты вывода текста,

ltRct – прямоугольник, снутри которого выводится текст, если же текст не вмещается в область прямоугольника, то он (текст) обрезается.

К примеру:

Font fnt = new Font("Arial",10); //Шрифт Arial, размер 10

dc.DrawString("Привет!",fnt, Brushes.Green,10,20);

Пример 1. Сделаем приложение, которое при щелчке Простейшие графические возможности левой кнопкой мыши на окне приложения выводит в месте щелчка прямоугольник с текстом координатами левого верхнего угла прямоугольника, а при щелчке правой кнопкой мыши в месте щелчка выводится закрашенный эллипс.

Для этого сделайте проект Windows Application. В окне параметров формы избрать событие MouseDown, два раза щелкнуть на Простейшие графические возможности заглавии действия мышкой. В показавшейся заготовке метода-обработчика действия воткнуть код, чтоб тело способа смотрелось последующим образом:

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)

{

Graphics dc = CreateGraphics();

Font fnt = new Font("Coyrier",10);

if(e.Button.ToString()== "Left")

{

dc.DrawRectangle(Pens.OrangeRed,e.X,e.Y,15,15);

dc Простейшие графические возможности.DrawString("X="+e.X.ToString()+" Y="+e.Y.ToString(),fnt,Brushes.Green,e.X,e.Y+20);

}

if(e.Button.ToString()== "Right")

{

dc.DrawEllipse(Pens.Magenta,e.X,e.Y,20,15);

dc.FillEllipse(Brushes.Blue,e.X,e.Y,20,15);

}

}

Скомпилируйте приложение. Проанализируйте приобретенные результаты.


proshlo-chut-bolee-3-h-let-s-nachala-funkcionirovaniya-municipalnogo-obrazovaniya-gorodskoj-okrug-vlasiha-schitayu-chto-organi-mestnogo-samoupravleniya-obespechili.html
proshlo-pervoe-sobranie-obedineniya-predprinimatelej-goroda-shahti-grodnenskoe-obshestvennoe-obedinenie-kraevedcheskoe.html
proshlo-uzhe-dva-desyatiletiya-so-vremeni-soveshaniya-81-kommunisticheskoj-i-rabochej-partii-mira-kotoroe-voshlo-i-ostanetsya-v-istorii-kak-odno-iz-vazhnejshih-sobitij-v-b-stranica-7.html