ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ графичСскиС возмоТности

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ alpha Π·Π°Π΄Π°Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ прозрачности Ρ†Π²Π΅Ρ‚Π°. Π§Π΅ΠΌ мСньшС это число, Ρ‚Π΅ΠΌ мСньшС Π½Π°ΡΡ‹Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ†Π²Π΅Ρ‚Π° ΠΈ Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ являСтся этот Ρ†Π²Π΅Ρ‚. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° alpha ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 255. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 опрСдСляСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ (бСсцвСтный), Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 255? ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ насыщСнный (Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ) Ρ†Π²Π΅Ρ‚. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ рисования ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ графичСскиС возмоТности (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π° № 6

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ графичСскиС возмоТности

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C# ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ графичСскиС возмоТности Π’ ΠΏΡ€ΠΎΡΡ‚ранствС ΠΈΠΌΠ΅Π½ System. Drawing? ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ основныС структуры для прСдставлСния:

Β· Ρ‚ΠΎΡ‡ΠΊΠΈ (ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚)? Point ΠΈ PointF

Β· Ρ€Π°Π·ΠΌΠ΅Ρ€Π°? Size ΠΈ SizeF

Β· ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… областСй? Rectangle ΠΈ RectangleF.

Π‘ΡƒΠΊΠ²Π° F Π² ΠΊΠΎΠ½Ρ†Π΅ названия структуры ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… структур (Π±Π΅Π· F), поля структуры ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ значСния, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ вСщСствСнного Ρ‚ΠΈΠΏΠ° (float).

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Size

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Size ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для хранСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ Π²Ρ‹ΡΠΎΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚, для этого, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ свойства Width ΠΈ Height, доступныС ΠΊΠ°ΠΊ для записи, Ρ‚Π°ΠΊ ΠΈ Π΄Π»Ρ чтСния. Для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Size с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ значСниями Width ΠΈ Height с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструктора ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ запись:

Size sz = new Size ();

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ значСния свойств Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

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 szm = new Size (27,45);

Point pt2 = new Point (szm); // pt2. X=27, pt2. Y=45

ΠœΠ΅Ρ‚ΠΎΠ΄ класса:

public void Offset (int);

измСняСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ:

X=X+dx ΠΈ Y=Y+dy;

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Rectangle

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для опрСдСлСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Для хранСния ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства, доступныС для записи ΠΈ Ρ‡Ρ‚Сния:

Location? ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

X? опрСдСляСт x-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°;

Y? опрСдСляСт y-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°;

Size? опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°;

Height? опрСдСляСт высоту ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°;

Width? опрСдСляСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°:

Бвойства Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния:

Left ΠΈ Top? ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ соотвСтствСнно X ΠΈ Y ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°;

Right ΠΈ Bottom? ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ соотвСтствСнно X ΠΈ Y ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°;

Π’ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π΄Π²Π° конструктора с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ:

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);

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ структуру, которая описываСт ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ пСрСсСчСниС Π΄Π²ΡƒΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ². Если Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ся Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ пСрСсСчСния, всС свойства структуры ΠΎΠ±Π½ΡƒΠ»ΡΡŽΡ‚ΡΡ.

НапримСр:

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 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ².

НапримСр:

Color crR = Color. FromArgb (255,0,0); // пСрСмСнная crR? красный Ρ†Π²Π΅Ρ‚

Color crG = Color. FromArgb (0,255, 0); // пСрСмСнная crG? Π·Π΅Π»Π΅Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚

Color crB = Color. FromArgb (0,0,255); // пСрСмСнная crB? синий Ρ†Π²Π΅Ρ‚ Для задания Ρ†Π²Π΅Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² 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; // ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ

Color clr2 = Color. Crimson; // ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ ΠšΠΈΡΡ‚ΠΈ ΠΈ ΠΏΠ΅Ρ€ΡŒΡ ГрафичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€ΠΈΡΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€ΡŒΠ΅Π² ΠΈ ΠΊΠΈΡΡ‚Π΅ΠΉ.

ΠšΠΈΡΡ‚ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ классов, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΡ‚ ΠΊΠ»Π°ΡΡΠ° System.Drawing.Brush. Класс Brush являСтся абстрактным классом, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСльзя ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ этого класса. Π‘ΠΏΠ»ΠΎΡˆΠ½Ρ‹Π΅ кисти ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ экзСмпляры класса 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. Для Π²Ρ‹Π²ΠΎΠ΄Π° тСкстовой ΠΈ Π³Ρ€Π°Ρ„ичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠΊΠ½ΠΎ прилоТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ контСкст устройства. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ устройства позволяСт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΎΠΊΠ½Π°.

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ устройства Π² ΡΡ€Π΅Π΄Π΅ .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. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ‚Ρ€ΠΈ ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° DrawString:

public void DrawString (string s, Font font, Brush brush, PointF point);

public void DrawString (string s, Font font, Brush brush, RectangleF layoutRectangle);

public void DrawString (string s, Font font, Brush brush, float x, float y);

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

sстрока символов,

font — ΡˆΡ€ΠΈΡ„Ρ‚ тСкста,

brush — ΠΊΠΈΡΡ‚ΡŒ,

point — Ρ‚ΠΎΡ‡ΠΊΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста,

x ΠΈ y — Π·Π°Π΄Π°ΡŽΡ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста

layoutRectangle — ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выводится тСкст, Ссли ΠΆΠ΅ тСкст Π½Π΅ Π²ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Ρ‚ΠΎ ΠΎΠ½ (тСкст) обрСзаСтся.

Для Π²Ρ‹Π²ΠΎΠ΄Π° тСкста Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°, ΠΊΠΈΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ тСкста. НапримСр:

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);

}

}

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

Π—Π°Π΄Π°Π½ΠΈΠ΅.

1). Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ клавиши ΠΌΡ‹ΡˆΠΈ Π² ΠΌΠ΅ΡΡ‚Π΅ Ρ‰Π΅Π»Ρ‡ΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши ΠΌΡ‹ΡˆΠΈ.

2). Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° ΠΏΡ€Π°Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ Ρ€ΠΈΡΠΎΠ²Π°Π»Π°ΡΡŒ линия, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π°Ρ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Ρ‰Π΅Π»Ρ‡ΠΊΠ° с Π»Π΅Π²Ρ‹ΠΌ Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΡƒΠ³Π»ΠΎΠΌ ΠΎΠΊΠ½Π° прилоТСния.

3). Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выводился слСд двиТСния ΠΌΡ‹ΡˆΠΈ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ рисования Π»ΠΈΠ½ΠΈΠΈ).

ΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° прилоТСния Если ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ прилоТСния ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π·Π°Ρ‚Π΅ΠΌ вновь Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ, Ρ‚ΠΎ ΠΌΡ‹, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, Π·Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…ности ΠΎΠΊΠ½Π° исчСзло. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Π½Π΅ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ содСрТимого ΠΎΠΊΠ½Π°. ВосстановлСниСм Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Ρ‚Скста Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ само ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Π² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… случаях Π²Ρ‹Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ сообщСниС (событиС Paint), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ «Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚», Ρ‡Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ прилоТСния Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ Paint. ΠœΠ΅Ρ‚ΠΎΠ΄-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ этого события ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ:

private void Form_Paint (object sender, System.Windows.Forms.PaintEventArgs e)

Для этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅Ρ‚ нСобходимости ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ контСкст устройства, ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° e. Для получСния контСкста устройства Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ:

Graphics dc = e. Graphics;

Π’ Ρ‚Π΅Π»Π΅ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС дСйствия для пСрСрисовки ΠΎΠΊΠ½Π°.

ΠžΡ‡Π΅Π½ΡŒ часто пСрСрисовка ΠΎΠΊΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π΅ прилоТСния. Π­Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΡΠΊΡ€Π°Π½ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. «Π—Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ» ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ событиС Paint ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Invalidate (), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‡Π»Π΅Π½ΠΎΠΌ System.Windows.Forms.Form. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ нСсколько ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… вСрсий этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Одна ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΎΠΊΠ½Π° для пСрСрисовки. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π½Π°ΠΌΠΈ вСрсия Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² пСрСрисовываСт всС ΠΎΠΊΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈ запускС появляСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ увСличиваСтся Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 150мс Π½Π° 5 пиксСлСй.

1. Объявим Π² ΠΊΠ»Π°ΡΡΠ΅ Form1 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

private int xWidth;

2. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Paint, для этого Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π°Ρ… Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ событиС Paint ΠΈ Ρ‰Π΅Π»ΠΊΠ½Π΅ΠΌ ΠΏΠΎ Π½Π΅ΠΌΡƒ. ПослС рСдактирования Ρ‚Π΅Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

private void Form1_Paint (object sender, System.Windows.Forms.PaintEventArgs e)

{

Graphics dc = e. Graphics;

dc.DrawRectangle (Pens.RoyalBlue, 10,100,xWidth, 50);

}

3. ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΠ΅ΠΌ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Timer ΠΈΠ· Toolbox, Π·Π°Ρ‚Π΅ΠΌ Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π°Ρ… Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° установим свойство Enable Π² true ΠΈ Interval Π² 150.

4. Π”Π°Π»Π΅Π΅ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ создаСм ΠΌΠ΅Ρ‚ΠΎΠ΄-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. ПослС рСдактирования Ρ‚Π΅Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

private void timer1_Tick (object sender, System. EventArgs e)

{

xWidth += 5;

Invalidate ();

}

Задания:

1). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появляСтся малСнький ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ увСличиваСтся (эффСкт Π½Π°Π΅Π·Π΄Π°).

2). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π²Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Ρ€Π°Π²Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ€Π°Π·ΡŠΠ΅Π·ΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΡƒΠ³Π»Π°ΠΌ ΠΎΠΊΠ½Π° (ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ).

А). ΠΠ°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² ΡΠ΅Π±Ρ ΠΎΠ±Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Π‘). ΠΠ°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ пСрСсСчСниСм исходных ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ