Π ΠΌΠΈΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΠ ΠΈΠ΄ΡΡ Π³ΠΈΠ³Π°Π½ΡΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΡΡΡΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ. Π ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΌΠ°Π»ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΡΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π³ΡΠ°ΡΠΈΠΊΠΈ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ. Krita ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ pigment Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ kritaimage Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΡΡΡΠΎΠΌ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, Π² digiKam ΡΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, Π° Ρ GIMP ΡΠ²ΠΎΡ ΡΠ΄ΡΠΎ, Ρ ΠΎΡΡ Π΅Π³ΠΎ Π΄Π°Π²Π½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° GEGL, Π½Ρ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ: ΠΌΠΎΠ·Π°ΠΈΠΊΠ° (tiles), ΡΠ°ΡΡΡΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈ Π±Π»ΠΎΠ±Ρ. ΠΠΎΠ·Π°ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Krita, GIMP, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° JAI ΠΈΠ· Java ΠΈ Photoshop, Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ . Π Π°Π·ΠΌΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ Π² Krita β 64Γ64 ΠΏΠΈΠΊΡΠ΅Π»Π°. Π Π°ΡΡΡΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Cinepaint (Glasgow) ΠΈ MosfetPaint ΠΠΎΡΡΠ΅ΡΠ°. ΠΠ»ΠΎΠ±Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² digiKam ΠΈ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π² ΡΠ°ΠΌΠΎΠΌ Qt: QImage ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΠ°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ QPainter.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΡΡ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ, Π»ΠΈΠ½ΠΈΠΈ ΡΠ°ΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π·Π²Π΅ΡΡΠΊΠΈ ΠΈΠ»ΠΈ Π±Π»ΠΎΠ±Ρ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠΎΠΏΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ.
ΠΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Krita ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π Π°Π½ΡΡΠ΅ ΡΡΠΎ Π±ΡΠ»ΠΎ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ Krita Π΄ΠΎΡΠΎΡ Π΄ΠΎ 100.000 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅, Π·Π°ΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈ ΠΏΡΠΎΡΡΠΎΠ΅.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ ΡΠ΄ΡΡ Krita Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Vigra, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈ Krita, ΠΈ Vigra ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π΅ ΠΌΠΎΠ·Π°ΠΈΠΊΡ Ρ ΡΠ°ΡΡΡΠΎΠ²ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, Π° ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ. Π ΡΠ°ΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΠΎΠ² ΠΊ Π½Π΅ΠΌΡ Π±Π»ΠΈΠ·ΠΊΠ° Generic Image Libary ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Adobe.
ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π΅ΡΠ»ΠΈ Ρ Π½ΠΈΡ ΡΠ²ΠΎΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΌΠΎΠ΅ΠΉ ΠΎΡΠ΅Π½ΠΊΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ . ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π±ΡΠ» ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ Π΅ΡΡ Π² 2003 Π³ΠΎΠ΄Ρ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π΄ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Ρ Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ».
Π Krita ΡΠ²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ, ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ»ΠΎΡΠ² ΠΈ KisPainter. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ KOffice 2.0 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π² pigment, Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ GUI. ΠΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΡ ΠΎΡ KOffice, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
Π GIMP ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΡΠ΄ΡΠΎ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ 8Π±ΠΈΡ/ΠΊΠ°Π½Π°Π».
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
Vigra β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° C++, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π£Π»ΡΡΠΈΡ ΠΎΠΌ ΠΡΡΡΠ΅ (Ullrich Koetthe) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΠΊ Π΅Π³ΠΎ Π΄ΠΎΠΊΡΠΎΡΡΠΊΠΎΠΉ Π΄ΠΈΡΡΠ΅ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π³ΠΈΠ±ΠΊΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π§ΠΈΡΠ°ΡΡ ΡΡΡ Π΄ΠΈΡΡΠ΅ΡΡΠ°ΡΠΈΡ β ΡΠΏΠ»ΠΎΡΠ½ΠΎΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅. ΠΠ½Π° Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΠ»Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Krita, Ρ ΠΎΡΡ ΠΌΡ ΡΡΡ ΡΠΊΠΎΡΠ΅Π΅ ΠΌΠ°ΡΠ΅ΠΌ ΡΠΎΠ±Π°ΠΊΠΎΠΉ, ΡΠ΅ΠΌ Ρ Π²ΠΎΡΡΠΎΠΌ, Π² ΠΏΠ»Π°Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (ΠΠΎΡΠ΄Π΅Π²ΠΈΠΉΠ½ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΊΡ Β«ΠΠΎΡΠ΅ΠΌΡ ΡΠΎΠ±Π°ΠΊΠ° Π²ΠΈΠ»ΡΠ΅Ρ Ρ Π²ΠΎΡΡΠΎΠΌ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΡΠΌΠ½Π΅Π΅ Ρ Π²ΠΎΡΡΠ°. ΠΡΠ»ΠΈ Π±Ρ Ρ Π²ΠΎΡΡ Π±ΡΠ» ΡΠΌΠ½Π΅Π΅, ΠΎΠ½ ΡΠ°ΠΌ Π²ΠΈΠ»ΡΠ» Π±Ρ ΡΠΎΠ±Π°ΠΊΠΎΠΉ.Β» β ΠΏΡΠΈΠΌ.ΠΏΠ΅Ρ.).
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
VIPS β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° C, Π½ΠΎ Ρ C++ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΠ½Π° ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ°ΡΡΠΈΠ½ Π² ΠΌΡΠ·Π΅ΡΡ Π²ΡΠΎΠ΄Π΅ ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΠ°Π»Π΅ΡΠ΅ΠΈ (ΠΈΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΠ°Π»Π΅ΡΠ΅Ρ Π² ΠΠΎΠ½Π΄ΠΎΠ½Π΅ β ΠΏΡΠΈΠΌ. ΠΏΠ΅Ρ.). Π Π½Π΅ΠΉ ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Gtk2 ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ nip2, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΡ ΠΎΠΆ Π½Π° Excel Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
VXL β Π½Π°Π±ΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΡ ΠΏΡΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
CImg β ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½Π°Ρ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°ΡΠΈΡΠΎΠ²ΡΠ²Π°Π½ΠΈΠ΅ (inpainting) ΠΈΡΠΏΠΎΡΡΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠΌΠ½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Ρ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ greycstoration Π² Krita.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
ΠΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, ΡΡΠΎ GEGL ΡΡΠ°Π½Π΅Ρ ΡΠ΄ΡΠΎΠΌ GIMP 2.0, Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΡΡΠΎΠΏΠΎΡΠΈΠ»Π°ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° GEGL Π΄ΠΎ Π²ΡΡ ΠΎΠ΄Π° 2.0 Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ (ΠΊΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π΅Π³ΠΎ ΠΈ Π΄ΠΎ Π²ΡΡ ΠΎΠ΄Π° 2.4 Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ β ΠΏΡΠΈΠΌ. ΠΏΠ΅Ρ.). Π ΡΠ΅Π»ΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠΏΡΡΠΊΠ° Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π½Π° C ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΠΉΠ²ΠΈΠ½Π΄ ΠΠΎΠ»Π°Ρ aka Pippin ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π» ΡΠΏΠ°Π²ΡΠΈΠΉ ΡΠ»Π°Π³ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΠ³ΡΠ΅ΡΡ Π½Π°Π»ΠΈΡΠΎ, Π½ΠΎ Ρ Π²ΡΡ ΠΆΠ΅ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½ Π² ΡΠΎΠΌ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΈ ΡΡ ΠΎΠ΄Ρ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ GIMP Π½Π° GEGL.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, libart β Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π° ΡΠΊΠΎΡΠ΅Π΅ ΠΊΠ°Π½Π²Π° Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ½ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Karbon 1.x Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΠΈΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π½Π° ΡΠΊΡΠ°Π½. Karbon 2.x Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Arthur. (
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
Java2D β Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΉ Β«ΡΠΈΡΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ Β» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΡΠ²Π΅ΡΠΎΠ²ΡΠΌΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ, Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠΌ. Π‘Π°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΎΠ½Π° Π½Π° Java, ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΡΠΎΠ²Π° ( ΠΡΡΡ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΡΡΠΎ Π°Π²ΡΠΎΡ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΡΠΌΠΎΡΡΠ΅Π» Π² GNU Classpath β ΠΏΡΠΈΠΌ. ΠΏΠ΅Ρ.), Π΄Π° ΠΈ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Cairo. ΠΠΎΠ³Π΄Π°-ΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Java2D, Π½ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Ρ ΠΏΠΎΡΠ΅ΡΡΠ», Π° Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΆΠ΅ Π½Π΅ ΠΏΠΎΠΌΠ½Ρ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
GraphicsMagick β ΡΡΠΎ ImageMagick ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ ΠΈ Ρ ΡΠΎΠΊΡΡΠΎΠΌ Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ API. Π’Π΅ΠΏΠ΅ΡΡ GM ΠΈ IM ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΅ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ. Π Π°Π½Π΅Π΅ Krita Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» IM (Π΅ΡΡ Π² 2004 ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΉΡΠΈ Π΅Π³ΠΎ ΠΊΡΡΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ), Π½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΎΡ ΡΠ΄ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ IM ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π½ΡΠ½Π΅ΡΠ½Π΅Π³ΠΎ: ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ IM ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈ ΡΠΊΡΠΏΠΎΡΡΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ ImageMagick ΠΈ ΠΎΡΡΠ°Π²ΡΠΈΠΉΡΡ ΠΊΠΎΠ΄ ΡΠ°Π΄ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ API ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΠΎΠ΄ GraphicsMagick.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
ΠΠ³ΡΠΎΠΌΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° Π‘++ ΠΎΡ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ CMake Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π²ΡΡ - ΠΈ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ . Π‘Π»ΠΈΡΠΊΠΎΠΌ ΠΎΠ³ΡΠΎΠΌΠ½Π°Ρ, ΡΡΠΎΠ±Ρ Ρ ΠΌΠΎΠ³ Π΅Ρ Π²ΡΠ΅ΡΡΠΎΡΠΎΠ½Π½Π΅ ΠΎΡΠ΅Π½ΠΈΡΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
ΠΡΠΎ Π½Π°Π±ΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ Boost ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΈΡΡΠ½ΠΎ ΡΠΎ, ΡΡΠΎ GIL ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΠ»Π°Π½Π°ΡΠ½ΡΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Ρ.Π΅. Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ°Π½Π°Π» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ²ΠΎΠΉ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π³Π΄Π΅ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΏΠΈΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ Π² ΠΏΠ°ΠΌΡΡΡ. GIL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Adobe ΠΈ Mission Photo (ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈΠ·Π°ΡΠΎΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Π½Π° PyGtk).
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Perico, Digikam, Cinepaint (and Glasgow), PIL, Java Advanced Imaging API β ΠΈΡ Π΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎβ¦ Π― ΡΠΏΠΎΠΌΡΠ½ΡΠ» Π»ΠΈΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΡΠ°ΠΌ, ΠΊΠΎΠ³Π΄ΡΠ° Π²Π·ΡΠ»ΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Krita ΠΈ ΠΈΡΠΊΠ°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄.
ΠΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π±ΡΠ»ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ: ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΠΈ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠΎΠΈΠ»ΠΎ Π½Π°ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² Π½Π° ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΡ, ΡΡΠΎ Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½ΠΎΠ²ΡΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ². ΠΠ°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ΅Π»ΡΡ Π΄Π²Π° Π΄Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ L*a*b!
ΠΠ²ΡΠΎΡ: Boudewijn Rempt
ΠΡΡΠΎΡΠ½ΠΈΠΊ: http://www.valdyas.org/fading/index.cgi/software/image_libraries.html?seemore=y
digilinux.ru
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΠΊΠ»Π°ΡΡΡ HBITMAP, Bitmap ΠΈ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½Π° Π²ΡΠ²ΠΎΠ΄ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ»Ρ Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ², Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΠΈ Bitmap::GetPixel ΠΈ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ.
ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ: ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ΄ΡΡ 0-Ρ ΡΡΡΠΎΠΊΠ°, Π·Π°ΡΠ΅ΠΌ 1-Ρ ΠΈ Ρ.Π΄. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ±Ρ ΠΎΠ΄ ΠΏΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π±ΡΠ» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ: Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ, Π° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ β ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ:
for (int y = 0; y
Β Β for (int x = 0; x
Β Β Β Β ...
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ Π±ΡΡΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² C# (Π° Π»ΡΡΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΠΈΡΠ°Π² ΠΊΠ»Π°ΡΡ-ΠΎΠ±ΡΡΡΠΊΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²): Π² Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ° (Y-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°), Π° Π²ΡΠΎΡΠ°Ρ β ΡΡΠΎΠ»Π±Π΅Ρ (X).
ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΊΠ»Π°ΡΡΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ . ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠ° BMP Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ΄Π°, ΡΠΎ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ JPEG ΠΈ PNG, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° β ΠΈΠ΄Π΅Ρ Π½Π΅ ΠΈΠ· Π»ΡΡΡΠΈΡ .
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² C++, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows Π΄Π»Ρ ΡΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ GDI+. ΠΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΎΠΉ: Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡ Gdiplus::Bitmap, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΡ Π΄Π»Ρ Microsoft Visual Studio 2010, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
imaging.cs.msu.ru
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΠΊΠ»Π°ΡΡΡ HBITMAP, Bitmap ΠΈ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½Π° Π²ΡΠ²ΠΎΠ΄ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ»Ρ Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ², Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΠΈ Bitmap::GetPixel ΠΈ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ.
ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ: ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ΄ΡΡ 0-Ρ ΡΡΡΠΎΠΊΠ°, Π·Π°ΡΠ΅ΠΌ 1-Ρ ΠΈ Ρ.Π΄. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ±Ρ ΠΎΠ΄ ΠΏΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π±ΡΠ» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ: Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ, Π° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ β ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ:
for (int y = 0; y
Β Β for (int x = 0; x
Β Β Β Β ...
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ Π±ΡΡΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² C# (Π° Π»ΡΡΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΠΈΡΠ°Π² ΠΊΠ»Π°ΡΡ-ΠΎΠ±ΡΡΡΠΊΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²): Π² Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ° (Y-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°), Π° Π²ΡΠΎΡΠ°Ρ β ΡΡΠΎΠ»Π±Π΅Ρ (X).
ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΊΠ»Π°ΡΡΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ . ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠ° BMP Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ΄Π°, ΡΠΎ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ JPEG ΠΈ PNG, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° β ΠΈΠ΄Π΅Ρ Π½Π΅ ΠΈΠ· Π»ΡΡΡΠΈΡ .
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² C++, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows Π΄Π»Ρ ΡΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ GDI+. ΠΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΎΠΉ: Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡ Gdiplus::Bitmap, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΡ Π΄Π»Ρ Microsoft Visual Studio 2010, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
imaging.cs.msu.ru
ΠΠΈΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° C/C++, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ 2D ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ:
ΠΡΠΎΠ³ ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ:
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ C++ ΡΠΎΡΠΊΠ° GraphicsMagickΒ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ImageMagick. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ . Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ (IMagick) ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠΏΠΎΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
Π‘Π°ΠΉΡ:Β http://www.graphicsmagick.org/
ΠΡΠΈΠΌΠ΅ΡΡ:Β http://www.imagemagick.org/Magick++/Image++.html
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ C++:Β http://www.graphicsmagick.org/Magick++/
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python:Β https://github.com/hhatto/pgmagick
Python-ΠΏΠ°ΠΊΠ΅Ρ PgMagick ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Ρ GraphicsMagick, ΡΠ°ΠΊ ΠΈ Ρ ImageMagick. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π° Π² Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python-Boost. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Wand-Py ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ Ρ ΡΠ΄ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Python (Π½Π°Π΄ΠΎ Π²ΡΠ΅ ΠΈΡΠΊΠ°ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ C++-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Magick++).
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ C++ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ImageMagick (IMagick). Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ .
Π‘Π°ΠΉΡ:Β http://imagemagick.org/script/index.php
ΠΡΠΈΠΌΠ΅ΡΡ:Β http://www.imagemagick.org/Magick++/Image++.html
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ C++:Β http://imagemagick.org/Magick++/
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python:Β http://docs.wand-py.org/
ΠΡΠΈΠΌΠ΅Ρ IPython:Β https://gist.github.com/emcconville/a0dd134bfa2b12c96377
Wand-Py ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Pillow (ΡΠΎΡΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PIL Π΄Π»Ρ Python). ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ (Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΡΡΠΈΠ΅).
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° C Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡΒ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ (Π½Π° ΡΠΎΡΡΠΌΠ°Ρ ) Ρ ΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ SKIA (Π΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅).
Π‘Π°ΠΉΡ: https://www.cairographics.org/
ΠΡΠΈΠΌΠ΅ΡΡ:Β https://www.cairographics.org/samples/
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ C++:Β https://www.cairographics.org/cairomm/
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python:Β http://pythonhosted.org/cairocffi/
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° C++ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Google Chrome, Chrome OS, Mozilla Firefox, Android. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Google. ΠΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π½ΠΎ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Cairo ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅.
Π‘Π°ΠΉΡ:Β https://skia.org/
ΠΡΠΈΠΌΠ΅ΡΡ:Β https://skia.org/user/api/skcanvas
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python:Β https://github.com/expobrain/python-skia
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΡΡΡΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° C++.Β ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π²ΡΠΏΡΡΠ΅Π½Π° Π² 2006 Π³ΠΎΠ΄Ρ. ΠΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ PIL Π΄Π»Ρ Python (ΠΈ Pillow).
Π‘Π°ΠΉΡ:Β http://www.antigrain.com/
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΡΡΡΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° C. ΠΠΎΠΏΡΠ»ΡΡΠ½Π° Π² PHP. Π Python Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Pillow, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π‘Π°ΠΉΡ:Β https://libgd.github.io/
ΠΡΠΈΠΌΠ΅ΡΡ:Β https://libgd.github.io/pages/faq.html
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python:Β https://github.com/Solomoriah/gdmodule
Π€ΠΎΡΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PIL Π΄Π»Ρ Python. Π Π°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠΎ. ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΠ°Π»ΠΎ, Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ.
Π‘Π°ΠΉΡ:Β http://pillow.readthedocs.io/
ΠΡΠΈΠΌΠ΅ΡΡ:Β http://pillow.readthedocs.io/en/3.3.x/reference/ImageDraw.html
ΠΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ C/C++ ΡΒ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊ.
https://github.com/fffaraz/awesome-cpp
VKontakte
quantrum.me