ΠΠ°ΠΊ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π² wpf
ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ Microsoft Windows Presentation Foundation. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ² WPF ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ WPF
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ² WPF ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ Π² Microsoft Windows. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ°Π½Π΅Π΅ Π±ΡΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ microsoft Windows ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² (GDI) ΠΈΠ»ΠΈ microsoft Windows GDI+. ΠΡΠΈ API ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ², Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π΅ΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ² WPF ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² GDI ΠΈ GDI+ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° API Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ API ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ WPF β ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠ΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠΎΠ΄Π΅Π»Ρ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ½ΠΊΠΈ (BMP), Π³ΡΡΠΏΠΏΡ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠ°ΠΌΠΈ (JPEG), png, ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΡΠ΅Π³Π°ΠΌΠΈ (TIFF), Microsoft Windows Media Photo, ΡΠΎΡΠΌΠ°Ρ gif ΠΈ Π·Π½Π°ΡΠΎΠΊ (ico-ΡΠ°ΠΉΠ»).
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ ΡΠ²Π΅ΡΠ° β Π΄ΠΎ 8 Π±ΠΈΡ Π½Π° ΠΊΠ°Π½Π°Π» (32 Π±ΠΈΡΠ° Π½Π° ΠΏΠΈΠΊΡΠ΅Π»Ρ).
ΠΠ΅ΡΠ°Π·ΡΡΡΠ°ΡΡΠ΅Π΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±ΡΠ΅Π·ΠΊΠ° ΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡΡ.
Π£ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠΌ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅.
ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ API Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ WPF Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² System.Windows.Media.Imaging ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, Ρ ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ ΡΠΈΠΏΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ImageBrush ΠΈ, ImageDrawing Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² System.Windows.Media ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Image Π² System.Windows.Controls ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½.
Π€ΠΎΡΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² WPF
ΠΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠ΄Π΅ΠΊΠΈ. Π² ΡΠΎΡΡΠ°Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ WPF Π²Ρ ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ΄Π΅ΠΊ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ BMP, JPEG, PNG, TIFF, Windows Media Photo, GIF ΠΈ ICON. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ° ICON, ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ².
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ BitmapFrame ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ·, BitmapSource Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ TIFF.
ΠΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ²
ΠΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ β ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Π² Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ. ΠΡΠ±ΠΎΡ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠ±ΠΎΡ ΠΊΠΎΠ΄Π΅ΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ. ΠΡΠΈΠΌΠ΅ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² WPF Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ΅ΠΊΠΎΠ΄Π΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ WPF ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°ΡΡΠ²ΡΡΡ Π² Π²ΡΠ±ΠΎΡΠ΅ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ WPF.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° ΡΠΎΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π΄Π»Ρ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° BMP.
ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ²
ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ β ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ. ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΡΠ΅ΠΌ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ WPF ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°.
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² WPF
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Image
Image β ΠΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Framework ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . Π XAML Image ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΈΠ»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 200 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π² ΡΠΈΡΠΈΠ½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ΅Π³Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΈΠ½ΠΎΠΉ 200 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°.
ΠΡΠ°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ΅Π·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Π Π°ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
StretchΠ‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. StretchΠ‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ Stretch ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ:
None: ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ±Π»Π°ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π°, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° Ρ ΠΎΠ±ΡΠ΅Π·ΠΊΠΎΠΉ ΡΠ΅Ρ ΡΠ°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²Ρ ΠΎΠ΄ΡΡ.
Fill: ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΡΠ²ΠΎΠ΄Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²ΡΡΠΎΡΠ° ΠΈ ΡΠΈΡΠΈΠ½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°, ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π΅ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π²ΡΠ²ΠΎΠ΄Π°.
Uniform: ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΎΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΎΠΏΠΎΡΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ.
UniformToFill: ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° Stretch ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.

Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°ΡΡΡΠΆΠ΅Π½ΠΈΡ
ΠΠ°ΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ

ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΈΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΠ³ΡΡΡ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ΅ΠΊΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ»ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΠΎΡΠΎΠ°ΠΏΠΏΠ°ΡΠ°ΡΠΎΠ² ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»Π΅ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΡΠΎΠ°ΠΏΠΏΠ°ΡΠ°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ WPF ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΡΡΡΠΏ ΠΊ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Metadata ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ BitmapSource ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Metadata ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ BitmapMetadata ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ. ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ΄Π½Ρ ΡΡ Π΅ΠΌΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡ Π΅ΠΌ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ² WPF ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡ Π΅ΠΌΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ: ΡΠ°ΠΉΠ» ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ (EXIF), ΡΠ΅ΠΊΡΡ (ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ PNG), ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (IFD), ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΉ ΡΠΎΠ²Π΅Ρ ΠΏΠΎ ΠΏΡΠ΅ΡΡ-ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠΌ (IPTC) ΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ (XMP).
Π Π°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ²
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ WPF ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΈ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄Π΅ΠΊΠΈ Π² WPF, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ WPF.
ΠΡΠΈΠΌΠ΅Ρ API ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΡΠΌ. Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π΅ΠΊΠ° Win32. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ³Π»Π° ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄Π΅ΠΊ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ.
ΠΠ°ΠΊ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ?
ΠΠ°ΠΊ Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΡΠ΅ΡΠΊΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ?
ΠΠΈΡΡ Π·ΠΌΠ΅ΠΉΠΊΡ.ΠΡΡΡ Grid Ρ columns i rows.ΠΠ°Π΄ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΠΊΠ»Π΅ΡΠΊΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ. ΠΠ°ΡΡΠΈΠ½ΠΊΠ° ΡΠΈΠΏΠ° ΡΠ°ΠΊ.

ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π²ΠΎΠΏΡΠΎΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈ Π΅ΡΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎ ΠΊΠ°ΠΊ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ.
ΠΠ°ΠΊ Π² DataGrid Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ DataGridCheckBoxColumn ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠΈΡΠΊΠΎΠΉ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΡΠ΅ΡΡΡΡΠΎΠ²?
ΠΠ°ΠΊ Π² DataGrid Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ DataGridCheckBoxColumn Π² XAML ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠΈΡΠΊΠΎΠΉ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ·.
Wpf RichTextBox. ΠΠ°ΠΊ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΉΡΠΈ source
Ρ.Π΅. ΠΈΠΌΠ΅Π΅ΡΡΡ RichTextBox, ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΠΉΠ» Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ. ΠΊΠΎΠ³Π΄Π° Ρ Π²ΡΡΠ°Π²Π»ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΡΠ΅ΡΠ΅Π· clipboard.
ΠΠΎΠ΄ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠΊΠΈ.
ΠΠ°ΠΊ Ρ ΠΠ°Ρ ΠΊΠΎΠ΄ ΡΡΡΠΊΡΠ΅ΡΡΡ Ρ XAML?
ΠΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΡ Π² ΠΊΠΎΠ΄Π΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΠ΅ΡΡ ΠΊ UI ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ.
ΠΡΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ ΡΠΎΡΡΡΠΊΠΎΠ²Π°ΡΡ Ρ «ΡΡΠΎΠ± ΡΠ°ΠΌ xaml ΠΎΠ±ΡΠ°ΡΠ°Π»ΡΡ ΠΊ ΠΊΠΎΠ΄Ρ».
XAML ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ. Π ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· ΠΊΠΎΠ΄Π° ΡΠ°Π·ΡΡΡΠ°Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ.
ΠΠΎΡΡΠΎΠΌΡ, ΠΠ°ΠΌ Π½Π°Π΄ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ ΠΊΠ°ΠΊ ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ WInForms (ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ UI ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²), ΡΠΎ ΡΡΠΎ ΠΏΡΡΡ Ρ ΠΊΠ°ΠΆΡΡΠ΅ΠΉΡΡ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°ΠΊ Π½ΠΈΠΊΡΠΎ Ρ WPF Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Ρ ΠΠ°Ρ Π±ΡΠ΄ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Ρ ΠΈ Ρ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΊΡΠΎ-ΡΠΎ ΡΠΌΠΎΠΆΠ΅Ρ ΠΠ°ΠΌ ΠΏΠΎΠΌΠΎΡΡ.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ, ΡΠΎ ΠΠ°ΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ, ΠΏΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ WPF ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π΄ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ (Π²Π΅Π΄Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ). Π Ρ ΠΠ°Ρ ΠΠΎΠ΄Π΅Π»ΠΈ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ½ΡΠ», Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Ρ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· 2 ΠΌΠΈΠ½ΡΡΡ
NnineBfive, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΌΠΎΠ³ ΡΠΏΡΠΎΡΡΠΈΠ» ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ToggleButton
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠ½ΠΎΠΏΠΊΡ WPF
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:
Π½ΠΎ Ρ Π²ΠΈΠΆΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈ ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ½Π° ΠΈΡΡΠ΅Π·Π°Π΅Ρ.
ΠΡΠ»ΠΈ Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΡ ΡΡΠΎ:
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ΅»‘.ΠΠΊΠ½Π°.Π Π°Π·ΠΌΠ΅ΡΠΊΠ°.XamlParseException’ Π² PresentationFramework.dll ΡΠ°ΠΉΠ»Ρ» ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
7 ΠΎΡΠ²Π΅ΡΠΎΠ²
Π ΡΠ»ΡΡΠ°Π΅ «ΠΈΡΡΠ΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΡ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ, ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ:
ΠΊΠΎΠ³Π΄Π° XAML Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΡΡΡ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ (ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π±ΡΠΎΡΠ°ΡΡ XamlParseException )
ΡΠ΅ΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½:
ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π³Π΄Π΅ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ.
ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ΡΡΡΡ.
(ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ β Π‘Π²ΠΎΠΉΡΡΠ²Π° β BuildAction= ‘Resource’)
Π΄ΡΡΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ , ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°):
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Π· ΠΊΠ°ΠΊ ΡΠ΅ΡΡΡΡ Π² XAML:
ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ XAML:
Π² XAML ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΈΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠ°ΠΉΡΠ΅ ΠΈΠΌΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ΅ΡΠΊΠ΅ XAML ΠΊΠ°ΠΊ «MainGrid».
ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π² ΡΠ΅ΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°!
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ½ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈΡΡ ΡΠ΅ΠΊΡΡ.
ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π‘ΠΌ.ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π·Π° ΠΏΠΎΠΌΠΎΡΡΡ.
Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ»Π° ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. Π― ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄.
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² WPF ΠΈΠ· ΠΊΠΎΠ΄Π°
Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ, Ρ ΡΠΈΡΠ°Π» ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΈΠ΄ΠΈΠΎΡΡΠΊΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π― ΠΏΡΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊ:
Π½ΠΎ ΡΡΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΌ.
ΠΡΠΎ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ, Ρ ΡΡΠ²ΡΡΠ²ΡΡ ΡΠ΅Π±Ρ ΠΎΡΠ΅Π½Ρ Π³Π»ΡΠΏΠΎ, Π½ΠΎ Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ½ΡΡΡ ΠΏΡΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².
6 ΠΎΡΠ²Π΅ΡΠΎΠ²
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°ΡΡΡΡ, ΡΡΡΠ»Π°ΡΡΡΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ, ΡΠΎΠ³Π΄Π° Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ «ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π·Π½Π°ΡΠΎΠΊ ΠΈΠ· ΡΠ΅ΡΡΡΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΎΠΉ ΠΆΠ΅ ΡΠ±ΠΎΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠΎΠΉ ΠΊΠΎΠ΄. Π― ΠΏΠΈΡΡ ΡΡΠΎ:
ΠΊΠ°ΠΊ ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΡΡΠ°ΡΡΠ΅, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://msdn.microsoft.com/en-us/library/aa970069.aspx, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· «ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°»:
Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ URI ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ² XAML, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ.
Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ URI ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ² XAML, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ.
Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ URI ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ² XAML, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΡΡΡΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΠ°ΠΏΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ URI ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ ΡΡΡΠ»ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ: / / / authority. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² WPF Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.
Π²Π°ΠΌ Π½ΡΠΆΠ½Π° Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π·Π°ΠΏΡΡΠ°Ρ ΡΠ°ΠΌ. ΠΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ URI ΡΠΈΠΏΠ° «Pack» Π² WPF. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ Π΅ΡΡΡ ΡΡΠΈ Π·Π°ΠΏΡΡΡΠ΅.
Π²Π°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» (ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ) Π² ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, Π° Π·Π°ΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠΈΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?
ΠΡΠ»ΠΈ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΈΠΌΡ Π² URI ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠΌΡ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ «ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ».
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ-Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡ > Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ > Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π·Π°ΡΠ΅ΠΌ Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ:
Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΡΡ Π²ΡΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ°ΠΊ «Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ²» Π²ΠΌΠ΅ΡΡΠΎ «ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ WPF». Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² xaml ΠΈΠ»ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ «ΡΠ΅ΡΡΡΡΠΎΠ²» Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ WPF, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π² AssemblyInfo ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.cs ΡΠ°ΠΉΠ»:
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Image, Drawing ΠΈ Visual
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΊΠΈΡΡΠ΅ΠΉ, ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² Windows Presentation Foundation (WPF), ΠΈ ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΈΡΡΡΡ WPF.
ΠΠ°ΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Image

ΠΠ±ΡΠ΅ΠΊΡΡ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ImageBrush
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°
ΠΠ°ΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Drawing

ΠΠ±ΡΠ΅ΠΊΡΡ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ DrawingBrush
DrawingBrushΠ ΠΈΡΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΡ Ρ Drawing ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. DrawingΠΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠ³ΡΡΡ, Π Π°ΡΡΡΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ ΡΠ΅ΠΊΡΡΠ°. Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²-ΡΠΈΡΡΠ½ΠΊΠΎΠ².
VideoDrawing β ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠ°ΠΉΠ».
DrawingGroup β Π ΠΈΡΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΡΠ½ΠΊΠΈ. ΠΠ»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ½ΠΊΠΎΠ².
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± Drawing ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ Drawing.
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ½ΠΊΠ°
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ½ΠΊΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ΅Ρ ΡΠ»Π»ΠΈΠΏΡΠΎΠ². GeometryDrawingΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ»Π»ΠΈΠΏΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠ°ΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Visual
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΠΎ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ°Π½Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
ΠΡΠΈΠΌΠ΅Ρ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ

ΠΡΡΠ°ΠΆΠ΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Visual
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠ΅ΠΉ ΡΠΊΡΠ°Π½Π° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΈΠΌΠ΅Ρ VisualBrush.
Π€ΡΠ½ΠΊΡΠΈΠΈ TileBrush
ImageBrush, DrawingBrush ΠΈ VisualBrush ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠΏΠ°ΠΌΠΈ TileBrush ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². TileBrush ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π·Π°ΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π½Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ°ΡΡΡΠ½ΡΡΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΡΠ·ΠΎΡ.
TileBrushΠΠΌΠ΅Π΅Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°: ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, ΠΏΠ»ΠΈΡΠΊΠΈ ΠΈ ΠΎΠ±Π»Π°ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π°.

ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ TileBrush Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ

ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ TileBrush Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ TileBrush ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΌ. Π² ΠΎΠ±Π·ΠΎΡΠ΅ TileBrush.

