ΠΠ΄Π½Π°ΠΊΠΎ, Π·Π°ΠΌΠ΅ΡΡΡΠ΅, Dispose() Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ²Π½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΈΠ· ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠ΅Π³ΠΎ Π½Π° Π²Ρ ΠΎΠ΄ PaintEventArgs. ΠΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π³ΠΎ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ Π·Π°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Dispose() Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ IDisposable, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ Π±ΡΠ΄ΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Ρ ΠΏΠΎΠ·ΠΆΠ΅, ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ° (ΡΠΌ. Π³Π»Π°Π²Ρ 5). Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° imgGraphics, ΡΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ. Π’Π°ΠΊ ΡΡΠΎ, Ρ ΠΎΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² GDI+, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²Π°ΠΌΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½Π΅Π΅, ΠΌΡ Ρ Π²Π°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠΈΠΌΠΈ, Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ GDI+ Π²ΡΡΡΠ½ΡΡ.
Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ GDI+
ΠΠ°ΡΠ΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ GDI+. Π GDI+ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΡΠΈ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ΅Π΄ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ΅ΡΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π΅ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠΈΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ). ΠΠΈΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° GDI+, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΎΡ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ (0, 0, 100, 100), Π²Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 100Γ100 "Π΅Π΄ΠΈΠ½ΠΈΡ". ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "Π΅Π΄ΠΈΠ½ΠΈΡΠ°" β ΡΡΠΎ ΠΏΠΈΠΊΡΠ΅Π»Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (Π΄ΡΠΉΠΌ, ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡ ΠΈ Ρ.ΠΏ.),
ΠΠ°Π»Π΅Π΅, Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ). Π‘ΡΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΌΠΈΡΠΎΠ²ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²ΡΡΡΠ½ΡΡ (Π²Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠΎΡΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π² Π³ΡΠ°Π½ΠΈΡΠ°Ρ 100Γ100 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (100*100), ΡΡΠΎΠ±Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΠΊΠΈ (100*100). Π’ΠΎΠ³Π΄Π° Π² ΡΠ²ΠΎΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠΈΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (ΠΈΠ·Π±Π΅ΠΆΠ°Π², ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΡΠ½ΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅),
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π΅ΡΡΡ ΠΏΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°). ΠΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΌΠΈΡΠΎΠ²ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ. ΠΡΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΈΠΏ GDI+. ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ² GDI+ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΡΡΠ»ΠΈΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ ΠΌΠΈΡΠΎΠ²ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π±Π°Π·ΠΎΠΉ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° GDI+. ΠΠ»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΌΠΈΡΠΎΠ²ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΡ ΠΈΡΡΠ΅Π½ΠΈΠΉ β Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ,
void MainForm_Paint(object sender, PaintEventArgs s) {
// ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π² ΠΌΠΈΡΠΎΠ²ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ .
i.Graphics g = Π΅.Graphics;
g.DrawRectangle(Pens.Black, 10, 10, 100, 100);
}
"ΠΠ° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ" Π²Π°ΡΠΈ ΠΌΠΈΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΏΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΏΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ, ΠΌΠΈΡΠΎΠ²ΡΠ΅, ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌΠΈ.
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ GDI+ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠ»Π΅Π½Ρ ΡΠΈΠΏΠ° Graphics (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ TranslateTransform()), ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠΊΠ°Π·Π°ΡΡ "ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ" Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΈΡΠΎΠ²ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠΈΠΏΠ° GDI+ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
private void MainForm_Paint(object sender, PaintEventArgs e) {
// Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ (10 * 10) Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ.
Graphics g = Π΅.Graphics;
g.TranslateTransform(10, 10);
g.DrawRectangle(10, 10, 100, 100);
}
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π΅Π³ΠΎ Π»Π΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ» ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ Π² ΡΠΎΡΠΊΡ (20, 20), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊ ΠΌΠΈΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° TranslateTransform().
ΠΠ΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Π GDI+ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ΠΉ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΈΠΊΡΠ΅Π»Ρ. ΠΠ°ΡΠ°Π»ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈ Π°Π±ΡΡΠΈΡΡ Π²ΠΏΡΠ°Π²ΠΎ, Π° ΠΎΡΠΈ ΠΎΡΠ΄ΠΈΠ½Π°Ρ β Π²Π½ΠΈΠ· (ΡΠΈΡ. 20.2).
Π ΠΈΡ. 20.2. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ GDI+, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ Rectangle Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ° ΡΠΎΠ»ΡΠΈΠ½ΠΎΠΉ Π² 5 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
void MainForm_Paint (object sender, PaintEventArgs e) {
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΈΡΠΎΠ²ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ,
// ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Graphics g = Π΅.Graphics;
g.DrawRectangle(newPen(Color.Red, 5), 10, 10, 100, 100);
}
Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠ²Π°Π΄ΡΠ°Ρ, ΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ Π½Π° 10 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π²Π½ΠΈΠ· ΠΈ Π²ΠΏΡΠ°Π²ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΈ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΊΡΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΡΠΌΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 20.3.
Π ΠΈΡ. 20.3. ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ°Ρ
ΠΡΠ±ΠΎΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ ΠΏΡΠΈΠ½ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° PageUnit ΠΎΠ±ΡΠ΅ΠΊΡΠ° Graphics. Π‘Π²ΠΎΠΉΡΡΠ²Ρ PageUnit ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΡΠ½Ρ GraphicsUnit.
public enum GraphicsUnit {
// ΠΠΈΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ.
World,
// ΠΠΈΠΊΡΠ΅Π»Ρ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠ΄ΠΈΡΠΏΠ»Π΅Ρ ΠΈ 1/100 Π΄ΡΠΉΠΌΠ° Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΠ΅ΡΠ°.
Display,
// ΠΠΈΠΊΡΠ΅Π»Ρ.
Pixel,
// Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΏΡΠΈΠ½ΡΠ΅ΡΠ° (1/72 Π΄ΡΠΉΠΌΠ°).
Point,
// ΠΡΠΉΠΌ.
Inch,
// Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° (1/300 Π΄ΡΠΉΠΌΠ°).
Document,
// ΠΠΈΠ»Π»ΠΈΠΌΠ΅ΡΡ.
Millimeter
}
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠΉΡΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π½ΠΈΠΆΠ΅.
private void MainForm_Paint(object sender, PaintEventArgs e) {
// ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π° Π΄ΡΠΉΠΌΠ°Ρ , Π° Π½Π΅ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ β¦
Graphics g = e.Graphics;
g.PageUnit = GraphicsUnit.Inch;
g.DrawRectangle(new Pen(Color.Red, 5), 0, 0, 100, 100);
}
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 20.4.
Π ΠΈΡ. 20.4. ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² Π΄ΡΠΉΠΌΠ°Ρ
ΠΡΠΈΡΠΈΠ½Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ 90% ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠΎΡΠΌΡ Π·Π°Π½ΡΡΠΎ ΡΠ΅ΠΌΠ½ΡΠΌ (ΠΊΡΠ°ΡΠ½ΡΠΌ) ΡΠ²Π΅ΡΠΎΠΌ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ° "ΡΠΈΡΠΈΠ½ΠΎΠΉ" Π² 5 Π΄ΡΠΉΠΌΠΎΠ²! Π‘Π°ΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ 100Γ100 Π΄ΡΠΉΠΌΠΎΠ², ΠΈ ΡΠΎΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠ²Π΅ΡΠ»ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»Π΅Π²ΡΠΌ Π²Π΅ΡΡ Π½ΠΈΠΌ ΡΠ³Π»ΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎΡΠΊΠ° (0, 0) Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π§Π°ΡΡΠΎ ΡΡΠΎ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΠΊΡ, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ? ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ (ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅) ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΡΡΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΡ ΡΠΈΡΠΈΠ½ΠΎΠΉ Π² 100 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π²Π΄ΠΎΠ»Ρ Π³ΡΠ°Π½ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠΎΡΠΌΡ. Π’ΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ GDI+ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ,
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ (ΠΈ ΠΏΡΠΎΡΠ΅) Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅, ΠΏΠΎ ΡΡΡΠΈ, Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎ Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: "Π₯ΠΎΡΡ Ρ Π΄Π°Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Ρ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π² ΡΠΎΡΠΊΠ΅ (0, 0), Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΡ (100, 100)". ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ "ΡΠΏΡΠΎΡΡΠΈΡΡ Π²Π°ΠΌ ΠΆΠΈΠ·Π½Ρ", ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ,
Π ΡΠ°ΠΌΠΊΠ°Ρ GDI+ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠΊΡ Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° TranslateTransform() (ΠΊΠ»Π°ΡΡΠ° Graphics), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ Π²Π°ΡΠΈΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΌΠΈΡΠΎΠ²ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
void MainForm_Paint(object sender, PaintEventArgs e) {