ΠΠ°ΠΊ ΡΠΆΠ°ΡΡ ΡΠΎΡΠΎ ΡΡΠΎΠ±Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π½Π΅ ΠΏΠΎΡΡΡΠ°Π΄Π°Π»ΠΎ? ΠΠ±Π·ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ° JpegMini
ΠΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΆΠ°ΡΡ ΡΠΎΡΠΎ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π»ΠΈΠ±ΠΎ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ°ΠΌΠΈ, Π°ΠΊΡΡΠ°Π»Π΅Π½ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ . ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π΄Π»Ρ ΡΠ΅Ρ , Ρ ΠΊΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π½ΠΎ ΠΌΠ°Π»ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅. ΠΠΎ-Π²ΡΠΎΡΡΡ , Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΠΎΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ. Π-ΡΡΠ΅ΡΡΠΈΡ , Π΄Π»Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΡΠ°ΠΉΡΠΎΠ² ΠΈ Π±Π»ΠΎΠ³ΠΎΠ².
ΠΡΠΌΠ°Ρ ΠΡ ΡΠ°ΠΌΠΈ Π·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½ΠΈΡΡΠΎ ΡΠ°ΠΊ Π½Π΅ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΡΠ°. ΠΠΎΡΠ΅ΡΠΈΡΠ΅Π»ΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡ
ΠΎΠ΄ΡΡ Ρ ΡΠ°ΠΊΠΈΡ
ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ°ΠΊ ΠΈ Π½Π΅ Π΄ΠΎΠΆΠ΄Π°Π²ΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΊΠΈ.
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° JPEGMini ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π±Π΅Π· ΡΡΡΠ΄Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠΆΠ°ΡΡ ΡΠΎΡΠΎ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΡΡΡΠΈΠΌΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅. ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎ Π·Π° ΡΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- ΠΠ°ΠΊ ΡΠΆΠ°ΡΡ ΡΠΎΡΠΎ Π² JPEGMini
- Π Π΅Π΄Π°ΠΊΡΠΈΠΈ JPEGMini
- ΠΡΠΎΠ³
ΠΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΊ ΠΏΡΡΡ ΠΊΠΎΠΏΠ΅Π΅ΠΊ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΡΡ Π΄Π°ΠΆΠ΅ ΡΠ΅Π±Π΅Π½ΠΎΠΊ ). Π‘Π΅ΡΠ²ΠΈΡ ΡΠΌΠ΅Π½ΡΡΠΈΡ Π²Π΅Ρ ΡΠΎΡΠΎ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π΄ΠΎ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ Π½ΠΎΡΠΌΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΡΡΡΠ°Π΄Π°Π΅Ρ:
ΠΠ° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠΊΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠΆΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΡ . ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΠ»Π·ΡΠ½ΠΎΠΊ Π½Π° ΡΠΎΡΠΎ Π²ΠΏΡΠ°Π²ΠΎ-Π²Π»Π΅Π²ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° ΠΎΡ Π΅Π³ΠΎ ΡΠΆΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π²Π΅ΡΠΎΠΌ Π² 3, 5 Π° ΠΏΠΎΡΠΎΠΉ ΠΈ Π² 8 ΡΠ°Π· ΠΌΠ΅Π½ΡΡΠ΅! ΠΠΈΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΡ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅.
ΠΠ°ΠΊ ΡΠΆΠ°ΡΡ ΡΠΎΡΠΎ Π² JPEGMini
Π§ΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π²Π΅ΡΒ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«Upload Photo» и ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΠΉΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°:Π Π°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ΅ JPEGMini ΠΌΠΎΠΆΠ½ΠΎΒ Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΒ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄Π»Ρ Π½ΠΈΡ Π°Π»ΡΠ±ΠΎΠΌΡ, Π΄Π΅Π»ΠΈΡΡΡΡ ΡΠΎΡΠΎ Π½Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ Picasa, Flickr, Facebook!
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ, ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π¦ΠΈΡΡΠ° Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ Π½Π° ΠΊΡΠ°ΡΠ½ΠΎΠΌ ΡΠΎΠ½Π΅, ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΠΎ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π±ΡΠ» ΡΠΌΠ΅Π½ΡΡΠ΅Π½ Π²Π΅Ρ ΡΠΎΡΠΎ, Π° ΡΠΊΠ°Π»Π° Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΏΡΡΠΌΠΎ ΠΏΠΎΠ΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π΅Ρ ΡΠΎΡΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² Π΄Π²Π° ΡΠ°Π·Π°, Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΡΡΡΠ°Π΄Π°Π»ΠΎ (ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠ° 4000Ρ 3000 px):
Π§ΡΠ΄Π΅ΡΠ° Π΄Π° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ) Π§ΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΡΠΎ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«Download Full Res.Β». Π’Π°ΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π²ΠΎΠ΄ΡΠ½ΡΡ Π·Π½Π°ΠΊΠΎΠ² ΠΈ ΠΏΡ. β Π²ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠ°Π½Π΅Π΅.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠ΅ΡΠ²ΠΈΡΠ° JPEGMini ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π²Π²ΠΈΠ΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ΅ΠΌ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΠΈ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΆΠ°ΡΠΎ. ΠΡΠ»ΠΈ Π΄Π»Ρ ΡΠΎΡΠΎ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2 ΠΌΠ΅Π³Π°ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π½Π° 40 β 60%, ΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ 8-ΠΌΠ΅Π³Π°ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΎ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ ΡΠΎΡΡΠ°Π²ΠΈΡ 70% β 80%, ΠΈ Π²ΡΡ ΡΡΠΎ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°! ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π½Π° Π³Π»Π°Π·, ΠΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅.
JPEGMini β ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅ΡΡΠΎ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠΈΠΉ Π²Π΅Ρ Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π½Π° Π½Π΅ΠΌ ΡΠΎΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π² 2-3 ΡΠ°Π·Π°. ΠΠ»Ρ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² Π±Π»ΠΎΠ³ΠΎΠ² ΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ JPEG Π³ΡΠ°ΡΠΈΠΊΡ, Π΄ΠΎΠ±ΠΈΠ²Π°ΡΡΡ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π±ΡΡΡΡΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΊ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
Π Π΅Π΄Π°ΠΊΡΠΈΠΈΒ JPEGMini
JPEGMini ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΉ:- Π±ΡΠ°ΡΠ·Π΅ΡΠ½Π°Ρ ΠΎΠ½Π»Π°ΠΉΠ½ Π²Π΅ΡΡΠΈΡ
- Π΄Π΅ΡΠΊΡΠΎΠΏΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Windows ΠΈ iOS
- Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (JPEGmini Server)
- ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»ΡΒ Lightroom ΠΈΒ Photoshop
Π’ΠΎΠ»ΡΠΊΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ, Π·Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΠΏΠ»Π°ΡΠΈΡΡ:
ΠΡΠΎΠ³
ΠΡΡΠ·ΡΡ, JpegMiniΒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡΡΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΌΠ΅Π΅Ρ ΡΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΎΡΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ! ΠΡΠ°ΠΉΠ½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ, ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ°ΡΡΡ ΡΠ²ΠΎΠΈΠΌ Π΄ΡΡΠ·ΡΡΠΌ (ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ ΡΡΡΡ Π½ΠΈΠΆΠ΅).
Π£Π΄Π°Π»ΠΎΡΡ Π»ΠΈ ΠΠ°ΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°? ΠΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅
Π Π°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ.
Π‘ΠΏΠΎΠ½ΡΠΎΡ ΠΏΠΎΡΡΠ°
Π‘ΠΆΠ°ΡΠΈΠ΅ PNG/JPG
Π― ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ sh-ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΆΠ°ΡΠΈΡ.
#!/bin/bash file=comp.flag if [ -f "$file" ]; then option="-newer $file" fi find ./images/ -type f -not -path "./images/comp/*" ! -name "*-no-comp.*" $option -iname "*.png" -exec sh -c ' png_file="${1/\/images\//\/images\/comp\/}" png_dir="$(dirname "$png_file")" mkdir -p "$png_dir" cp "$1" "${png_file}" optipng -o7 "${png_file}" advpng -z4 "${png_file}" pngcrush -rem gAMA -rem alla -rem cHRM -rem iCCP -rem sRGB -rem time -ow "${png_file}" ' _ {} \; find ./images/ -type f-not -path "./images/comp/*" ! -name "*-no-comp.*" $option -iregex '.*\.\(jpg\|jpeg\)' -exec sh -c ' jpg_file="${1/\/images\//\/images\/comp\/}" jpg_dir="$(dirname "$jpg_file")" mkdir -p "$jpg_dir" cp "$1" "${jpg_file}" jpegoptim --all-progressive "${jpg_file}" ' _ {} \; touch $file echo "$(date)" > $file
ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΡΠΆΠΈΠΌΠ°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°.
images
, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π²Π°ΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π Π°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.Π‘Π½Π°ΡΠ°Π»Π° ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΉΠ» comp.flag
. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -newer $file
Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ option
, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠ»ΡΡΡΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΠΏΠΎΡΠ»Π΅ Π΄Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° optimg.flag
. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ option
Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΠΎΠΉ.
ΠΠ°ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ find
Π΄Π»Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅:
-type f
. Π―Π²Π»ΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.- ΠΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°
.png
,.jpeg
ΠΈΠ»ΠΈ.jpg
. -not -path
. ΠΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ . Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ./images/comp
. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΡΠ΄Π° ΡΠΆΠ°ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΠΎ Π½ΠΈΠΌ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΈ ΡΠΆΠΈΠΌΠ°ΡΡ ΡΠ½ΠΎΠ²Π°.! -name "-no-comp."
. ΠΡΡΠ°Π²ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ ΠΈΠΌΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π°
.- ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΡΠΈΡΠ°ΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ comp
Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ images
, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΡΠ»ΠΎΠΆΠΈΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π‘ΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π² comp
Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ°ΡΠΎΠ»ΠΎΠ³ΠΎΠ² Π² images
.
ΠΠ»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² PNG ΡΠ½Π°ΡΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ optipng
Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Ρ ΡΠ°ΠΌΡΠΌ Π²ΡΡΠΎΠΊΠΈΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ (-o7
). ΠΠ°Π»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ advpng
Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠΆΠ°ΡΠΈΡ Ρ ΡΡΠΎΠ²Π½Π΅ΠΌ ΡΠΆΠ°ΡΠΈΡ 4 (-z4
). Π Π½Π°ΠΊΠΎΠ½Π΅Ρ pngcrush
ΠΠ»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² JPEG ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ jpegoptim
Π΄Π»Ρ ΠΈΡ
ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ (--all-progressive --strip-all
).
ΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Ρ
ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ» comp.flag
. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°.
Π’Π΅ΡΡΡ Π½Π° ΡΠΆΠ°ΡΠΈΡ
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (3456β x β2234): ΠΎΠ΄Π½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ jpg ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2.2 ΠΌΠ±, Π²ΡΠΎΡΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ png ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2,7 ΠΌΠ±. ΠΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡ Π°ΡΡ ΠΈΠ² Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΠ΅ΡΡΡ Ρ ΡΠ΅Π±Ρ.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΊΡΠΈΠΏΡ ΠΈ ΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΆΠ°ΡΠΈΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅optipng
Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π°Π±Π΅ΡΠΈΡΠ΅ΡΡ ΡΠ΅ΡΠΏΠ΅Π½ΠΈΡ.ΠΡΠ²ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ
** Processing: ./images/comp/image-two.png 3456x2234 pixels, 4x8 bits/pixel, RGB+alpha Input IDAT size = 2664231 bytes Input file size = 2666952 bytes Trying: zc = 9 zm = 9 zs = 0 f = 0 IDAT size = 2374591 zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 2368803 zc = 9 zm = 9 zs = 0 f = 1 IDAT size = 2142264 zc = 9 zm = 8 zs = 0 f = 1 IDAT size = 2137390 zc = 9 zm = 9 zs = 1 f = 1 IDAT size = 2134232 zc = 9 zm = 8 zs = 1 f = 1 IDAT size = 2128765 zc = 9 zm = 9 zs = 0 f = 4 IDAT size = 2074935 zc = 9 zm = 8 zs = 0 f = 4 IDAT size = 2071117 zc = 9 zm = 9 zs = 1 f = 4 IDAT size = 2055799 zc = 9 zm = 8 zs = 1 f = 4 IDAT size = 2054390 zc = 9 zm = 9 zs = 0 f = 5 IDAT size = 2046026 zc = 9 zm = 8 zs = 0 f = 5 IDAT size = 2040193 zc = 9 zm = 9 zs = 1 f = 5 IDAT size = 2031130 zc = 9 zm = 8 zs = 1 f = 5 IDAT size = 2024568 Selecting parameters: zc = 9 zm = 8 zs = 1 f = 5 IDAT size = 2024568 Output IDAT size = 2024568 bytes (639663 bytes decrease) Output file size = 2025345 bytes (641607 bytes = 24.06% decrease) 2025345 2025345 100% ./images/comp/image-two.png (Bigger 2208631) 2025345 2025345 100% Warning: versions are different between png.h and png.c png.h version: 1.6.34 png.c version: 1.6.37 Recompressing IDAT chunks in ./images/comp/image-two.png Total length of data found in critical chunks = 2024625 Best pngcrush method = 10 (ws 15 fm 6 zl 9 zs 1) = 2055326 CPU time decode 1.074758, encode 16.759768, other 0.018592, total 17.899076 sec ./images/comp/image-one.jpg 3456x2234 24bit N Exif XMP JFIF [OK] 2158567 --> 1947377 bytes (9.78%), optimized.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΡΠΌΠΎΠ³Π»ΠΈ ΡΠΆΠ°ΡΡ png Π΄ΠΎ 2.1 ΠΌΠ±, Π° jpg Π΄ΠΎ 1.9 ΠΌΠ±. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΠ² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°.
ΠΡΡΡΠ΅Π΅, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ jpg ΡΡΠΎ JPEGmini Pro. ΠΠΌΠ΅Π΅Ρ Π²Π΅ΡΡΠΈΡ cli Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΠΎ ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ ΠΎΠ½ΠΎ ΠΏΠ»Π°ΡΠ½ΠΎΠ΅. ΠΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΆΠ°ΡΠΈΡ 2.2 ΠΌΠ± β> 959 ΠΊΠ±.
Π Π°Π½Π΄ΠΎΠΌΠ½ΡΠΉ Π±Π»ΠΎΠΊ
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² WebP
PNG ΠΈ JPG ΡΠ²Π»ΡΡΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠ°ΡΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ WebP, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈ ΡΠΆΠ°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ Ρ Π΅Π΄Π²Π° Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ ΡΡ ΡΠ΄ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°.
Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ WebP ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Π±ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° ΡΠ°ΠΉΡΠ΅ https://squoosh.app.
Π― Π²Ρ Π²ΡΠ±ΡΠ°Π» Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
cwebp -mt -af -progress -m 6 -q 80 -pass 10 input.jpg -o output.webp
ΠΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ JPG ΡΠ°ΠΉΠ» input.jpg
Π² ΡΠ°ΠΉΠ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ WebP Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ output.webp
. ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
-mt
Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Β Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ .-af
Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠΆΠ°ΡΠΈΡ.-progress
Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΠ»Π°.-m 6
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π²Π½ΡΠΌ 6, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΆΠ°ΡΠΈΡ Π·Π° ΡΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.-q 80
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π½Π°80
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.-pass 10
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΎΠ² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π²Π½ΡΠΌ 10, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΆΠ°ΡΠΈΡ Π·Π° ΡΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
-lossless
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΆΠ°ΡΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ. ΠΠΎ ΡΠΎΠ³Π΄Π° Π²Π°ΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΆΠ΅Π»Π΅Π΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ.ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π°Ρ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² WebP.
find ./images/comp -type f -iregex '.*\.\(jpg\|jpeg\|png\)' -not -iregex '.*no-comp\.\(jpg\|jpeg\|png\)' $option -exec sh -c ' webp_file="${1/\/images\/comp\//\/images\/webp\/}" webp_dir="$(dirname "$webp_file")" mkdir -p "$webp_dir" cwebp -mt -af -progress -m 6 -q 75 -pass 10 "$1" -o "${webp_file%. *}.webp" ' _ {} \;
ΠΡ Π±Π΅ΡΠ΅ΠΌ ΡΠΆΠ°ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ comp
ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΠΈΡ
Π² WebP, ΡΠΊΠ»Π°Π΄ΡΠ²Π°Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ webp
. ΠΡΠ»ΠΈ Π²Ρ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΆΠ°ΡΠΈΡ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
Π’Π΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Π½Π°ΡΠΈ ΡΠΊΡΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΡΡ ΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠΆΠΌΠ΅ΠΌ Π½Π°ΡΠΈ ΡΠ°ΠΉΠ» ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π² 2,7 ΠΌΠ± ΠΈ 2.2 Π² ΡΠΎΡΠΌΠ°Ρ WebP Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°:
- -q 90: Π Π°Π·ΠΌΠ΅Ρ 325 ΠΊΠ±.
- -q 85: Π Π°Π·ΠΌΠ΅Ρ 267 ΠΊΠ±.
- -q 80: Π Π°Π·ΠΌΠ΅Ρ 229 ΠΊΠ±.
- -q 75: Π Π°Π·ΠΌΠ΅Ρ 200 ΠΊΠ±.
- -q 70: Π Π°Π·ΠΌΠ΅Ρ 191 ΠΊΠ±.
- -q 60: Π Π°Π·ΠΌΠ΅Ρ 176 ΠΊΠ±.
- -q 50: Π Π°Π·ΠΌΠ΅Ρ 163 ΠΊΠ±.
- -q 40: Π Π°Π·ΠΌΠ΅Ρ 147 ΠΊΠ±.
- -q 30: Π Π°Π·ΠΌΠ΅Ρ 129 ΠΊΠ±.
- -q 20: Π Π°Π·ΠΌΠ΅Ρ 115 ΠΊΠ±.
- -q 10: Π Π°Π·ΠΌΠ΅Ρ 90 ΠΊΠ±.
- -q 1: Π Π°Π·ΠΌΠ΅Ρ 70 ΠΊΠ±. ΠΠ»Ρ ΡΠΊΡΡΡΠ΅Π½Π½ΡΡ ΡΠ»ΡΡΠ°Π΅Π². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Π·Π°Π±Π»ΡΠ΄ΠΈΠ»ΠΈΡΡ Π² Π»Π΅ΡΡ ΠΈ Π½Π°Π΄ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΡΠΎ ΠΏΠΎ ΡΠΏΡΡΠ½ΠΈΠΊΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠΈ π
Nginx
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π½Π°ΡΡΠΈΠΌ nginx ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΉΡΠΈ WebP ΡΠ°ΠΉΠ», ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΡΠΆΠ°ΡΡΠΉ PNG/JPG, Π° Π΅ΡΠ»ΠΈ ΠΈ ΡΠΆΠ°ΡΠΎΠ³ΠΎ Π½Π΅Ρ, ΡΠΎ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». (/images/)(.+)\.(png|jpe?g)$ { add_header Cache-Control ‘public,max-age=31536000’; alias /images; set $webp_image_subdir «/webp/»; set $comp_image_subdir «/comp/»; set $basename $2; try_files $webp_image_subdir$basename$webp_suffix $comp_image_subdir$basename.$3 $uri; }
ΠΠ°Π½Π½ΡΠΉ location
ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π°Π΄ΡΠ΅ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ /images/
, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π·Π°ΡΠ΅ΠΌ ΡΠΎΡΠΊΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π° png/jpeg/jpg.
ΠΠ»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
alias
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ ΠΎΡΠ΄Π°Π²Π°ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ/images
. - ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
set
Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°Ρ . ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ$webp_image_subdir
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²/webp/
, Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ$basename
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π·Π°Ρ Π²Π°ΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Ρ. Π΅. ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ). - ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
try_files
ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΡΠ΄Π°ΡΡ Webp-Π²Π΅ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ$webp_image_subdir
ΠΈ$basename
ΡΡΡΡΠΈΠΊΡ.webp
. ΠΡΠ»ΠΈ NGINX ΡΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Webp-Π²Π΅ΡΡΠΈΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΎΠ½ ΠΎΡΠ΄Π°ΡΡ Π΅Π³ΠΎ. ΠΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ WebP-Π²Π΅ΡΡΠΈΡ, ΡΠΎ ΠΎΡΠ΄Π°ΡΡ ΡΠΆΠ°ΡΡΠΉ JPG/PNG, Π΅ΡΠ»ΠΈ ΠΈ ΡΠΆΠ°ΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΡΠΎ ΠΎΡΠ΄Π°ΡΡ Π½Π΅ ΡΠΆΠ°ΡΠΎΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡ ΠΊ ΡΠ°ΠΊΠΎΠΌΡ ΡΠΊΡΠΈΠΏΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΡΠΈΡΠ΅Π». ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠ»ΡΡΡΠΈΡΡ, ΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π‘ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°
ΠΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΡΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠΆΠ°ΡΠΈΠ΅
ΠΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ
5 Π·Π²Π΅Π·Π΄ 4 Π·Π²Π΅Π·Π΄Ρ 3 Π·Π²Π΅Π·Π΄Ρ 2 Π·Π²Π΅Π·Π΄Ρ 1 Π·Π²Π΅Π·Π΄Π°.
ΠΡΡΡΡΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅
ΠΠΎΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΆΠ°ΡΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΆΠ°ΡΠΈΠ΅ Π²ΡΠ΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΡΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Ρ Ρ Π½Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΡΠ΅ΡΠ΅Π· 2 ΡΠ°ΡΠ°.
ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΆΠΈΠΌΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΡ .
Π£Π΄ΠΎΠ±Π½ΡΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°Π½ΠΈΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π»Π΅Π³ΠΊΠΎ ΡΠΆΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Image Compressor ΠΎΠ½Π»Π°ΠΉΠ½ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ°ΠΊ ΡΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½?
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΆΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Image Compressor.
- ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ Π²ΡΠ΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Image Compressor.
- ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ°.
- Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°.
- ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠΆΠ°ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· Image Compressor.
ΠΡΠΎ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΎΡΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΎΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΠΡΠΎΡΡΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° ΡΡΠΎΠΌ ΡΠΆΠ°ΡΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΆΠ°ΡΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΠΡΠΎ Π±ΡΡΡΡΡΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. ΠΡΠ°ΠΊ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠΌ Π»ΡΡΡΠ΅ΠΌ ΡΠΆΠ°ΡΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. ΠΡΠ±ΡΠ°Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π²ΡΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ° ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ½Π»Π°ΠΉΠ½. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ»Π·ΡΠ½ΠΎΠΊ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΆΠ°ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΆΠΈΠΌΠ°ΡΡ. ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²ΡΠ΅ ΡΠΆΠ°ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠΆΠΈΠΌΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ½Π»Π°ΠΉΠ½ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°.
- Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΎΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ° ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ.
- Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°.
- ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠΆΠ°ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°.
ΠΠ°ΠΊ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python (2022)
Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π° ΠΌΠΈΠ½ΡΡΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ. Π’Π΅ΡΠΌΠΈΠ½ Β«ΡΠΆΠ°ΡΡΒ» ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Β«ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΒ» ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎΡΡ Π² ΡΠ°ΠΉΠ»Π΅.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ) ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΆΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π°. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Β«ΡΠ΅ΡΡΠ΅ΡΡΡΒ»).
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΆΠ°ΡΠΈΡ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Π° Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Pillow
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pillow ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ PIL (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Python). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PIL ΡΡΡΠ°ΡΠ΅Π»Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 2018 Π³ΠΎΠ΄Ρ. Pillow ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Pillow Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ°, ΠΎΠ±ΡΠ΅Π·ΠΊΠΈ, ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π²Π΅ΡΠ΅ΠΉ.
ΠΡΠ½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pillow ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ PIL Image. ΠΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ Pillow. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΊ ΡΠΆΠΈΠΌΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Pillow.
ΠΏΠΈΠΏ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄ΡΡΠΊΡ
ΠΈΠ· ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠΏΠΎΡΡΠ° PIL Π΄Π΅Ρ ΡΠΆΠ°ΡΠΈΠ΅ (ΡΠ°ΠΉΠ»_ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ): ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ = os.path.join(os.getcwd(), image_file) ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ = Image.open (ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ) image.save ("ΡΠΆΠ°ΡΡΠΉ ΡΠ°ΠΉΠ»-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ", "JPEG", ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ = ΠΡΡΠΈΠ½Π°, ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ = 10) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ PIL Image, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π½ΠΎ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ. ΠΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π»ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ 100, Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ 10.
ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°. Π§ΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ ΠΏΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎΠ±Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ.
Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ AbstractAPI
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π³Π΄Π΅-ΡΠΎ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, β ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ API ΡΠΆΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈ API ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ png, jpg, gif, bmp ΠΈ Ρ. Π΄. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ API ΡΠ²Π»ΡΠ΅ΡΡΡ AbstractAPI.
AbstractAPI ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°ΠΏΡΠΎΡ POST ΠΊ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅, Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ»ΡΡΠΎΠΌ API. ΠΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ URL-Π°Π΄ΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΆΠ°ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΎΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ API ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΆΠ°ΡΠΈΠ΅ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°.
Π§ΡΠΎΠ±Ρ ΡΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ API ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΆΠ°ΡΠΈΠ΅ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°.
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΆΠ°ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π±ΡΡΡΡΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ AbstractAPI Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΊΠ»ΡΡ API
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ API ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠ°ΡΠ°ΡΡΒ». ΡΠΆΠ΅ Π΅ΡΡΡ ΡΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Abstract API, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΎΠΉΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
Π‘Π΄Π΅Π»Π°Π² ΡΡΠΎ, Π²Ρ ΠΏΠΎΠΏΠ°Π΄Π΅ΡΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ API.
Π‘Π΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ ΠΊ API
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Python Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ POST-Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ.
api_url = "https://images.abstractapi.com/v1/" api_key = ΠΠΠ¨_API_KEY Π·Π°ΡΠΈΡΠ° send_compress_image_request(): ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ = { 'Π°ΠΏΠΈ_ΠΊΠ»ΡΡ': Π°ΠΏΠΈ_ΠΊΠ»ΡΡ, 'url': 'https://s3.amazonaws.com/static. abstractapi.com/test-images/dog.jpg', Β«Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈΒ»: ΠΏΡΠ°Π²Π΄Π° } ΠΏΡΡΠ°ΡΡΡΡ: ΠΎΡΠ²Π΅Ρ = Π·Π°ΠΏΡΠΎΡΡ. ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (api_url, params = params) ΠΏΠ΅ΡΠ°ΡΡ (ΠΎΡΠ²Π΅Ρ. ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅) ΠΊΡΠΎΠΌΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.RequestException ΠΊΠ°ΠΊ api_error: print(f"ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ API ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°: {api_error}") ΠΏΠΎΠ΄Π½ΡΡΡ SystemExit (api_error)
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π²Π΅ΡΠ½Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ JSON, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ:
{ "ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ_ΡΠ°Π·ΠΌΠ΅Ρ": 205559, "ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ_Π²ΡΡΠΎΡΠ°":430, Β«ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ_ΡΠΈΡΠΈΠ½Π°Β»: 1142, Β«ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ_ΡΠ°Π·ΠΌΠ΅ΡΒ»: 75101, "bytes_saved":130458, "ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ_Π²ΡΡΠΎΡΠ°":430, Β«ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ_ΡΠΈΡΠΈΠ½Π°Β»: 1142, "url":"https://abstractapi-images.s3.amazonaws.com/8f2dd6392c524bc98313a89a24012b1f_dog.jpg" }
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ: original_height ΠΈ original_width ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ final_height ΠΈ final_width. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Π±ΡΠ» ΡΠΌΠ΅Π½ΡΡΠ΅Π½ Π½Π° 130458 Π±Π°ΠΉΡ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΡΡΠΈΠ³Π°Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 10-20% ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°.
ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ, ΡΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° , ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΡΡΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
API Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ URL-Π°Π΄ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠ·ΠΈΠ½ AWS S3 AbstractAPI.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Python. Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Pillow (ΡΠΎΡΠΊ PIL) Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΡ ΡΠ°Π½ΠΈΠ² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ Free Image Processing ΠΎΡ AbstractAPI Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΆΠ°ΡΠΈΡ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΠ°ΠΊ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Python?
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Python β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Pillow. Π‘Π½Π°ΡΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ PIL Image, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°.
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Python?
ΠΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΡΠΌΠ΅ΡΠ°ΡΡ ΡΡΠΈ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌΠΈ. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ Π°ΠΏΡΠΊΠ΅ΠΉΠ»ΠΈΠ½Π³ΠΎΠΌ: Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ.
ΠΡΠ±Π°Ρ ΠΈΠ· ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΏΠΎΡΠ΅ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΆΠ°ΡΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° 100.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ ΠΈ ΡΠΆΠ°ΡΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ?
Π‘ΠΆΠ°ΡΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ½ Π±ΡΠ» Π΄ΠΎ ΡΠΆΠ°ΡΠΈΡ.