ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΊΡΠ°ΡΠΎΡΠ½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ [174285 B]
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ [69927 B]
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ pngquant Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π»ΡΡΡΠ΅. [69932 B]
Π Π°Π½ΡΡΠ΅ Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³ Π€Π»ΠΎΠΉΠ΄Π°-Π‘ΡΠ΅ΠΉΠ½Π±Π΅ΡΠ³Π°, Π½ΠΎ ΠΎΠ½ΠΎ ΡΠΎΠ³ΠΎ Π½Π΅ ΡΡΠΎΠΈΠ»ΠΎ.
Π― Π΄ΡΠΌΠ°Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³, ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ. ΠΡ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ, ΠΊΡΠΎ ΠΌΠΎΠ³ Π±Ρ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΡΡ?
pngquant ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π€Π»ΠΎΠΉΠ΄Π°-Π‘ΡΠ΅ΠΉΠ½Π±Π΅ΡΠ³Π° Π΄Π»Ρ Π»ΡΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ²Π΅ΡΠ°.
Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΈΠ·-Π·Π° Π΅Π³ΠΎ Β«ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΡΡΠΈΒ».
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ - ΡΠ°Π΄ΠΎΠ²Π°ΡΡ Π³Π»Π°Π·.
ΠΠΈΠ·Π΅ΡΠΈΠ½Π³ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΡΡΡ ΠΏΠΎΠ΄ ΡΠ»Π°Π³ΠΎΠΌ, ΠΊΠ°ΠΊ Π² Ps. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±ΡΠ΄ΡΡ ΡΠ΅ΡΠ°ΡΡ.
Π― Π΄ΡΠΌΠ°Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³, ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ. ΠΡ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ, ΠΊΡΠΎ ΠΌΠΎΠ³ Π±Ρ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΡΡ?
ΠΡΠΌΠ°Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΠΈΡΡ @kornelski.
Π’ΠΎ Π΅ΡΡΡ Ρ ΡΠ΄Π΅Π»Π°Π» ΡΡΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
B Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ ΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ, ΠΊΠ°ΠΊ C, Π½ΠΎ Π±ΡΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π», ΡΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ²Π΅ΡΠΎΠ² Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³ (ΠΎΠ±Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°).
Π― Π΄ΡΠΌΠ°Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ², ΡΠΎ Π΅ΡΡΡ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Β«Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΒ» ΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Deflate - ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ B ΡΠΎΠ»ΡΠΊΠΎ 20 ΠΊΠ (ΡΠ°ΠΊ ΡΡΠΎ ΠΎΠ½ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΈΠΉ, ΠΊΠ°ΠΊ C, Π½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅).
ΠΠ‘Π’ΠΠ’Π. Π― ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ pngquant Π»ΡΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Deflate (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 100 ΡΠ°Π· Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ UPNG.js: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 30 ΠΌΡ ΠΏΡΠΎΡΠΈΠ² 3000 ΠΌΡ), ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ B ΡΠΎΠ»ΡΠΊΠΎ 20 ΠΊΠ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎ ΠΈ Ρ.
Π, Ρ Π²ΠΈΠΆΡ.
Π― Π½Π΅ Π·Π½Π°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΡΠΈΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ.
pngquant Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ mse, ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈ Π½Π΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ», Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π·ΠΊΠΎ ΡΡ ΡΠ΄ΡΠ°Π΅ΡΡΡ.
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΡΡ Π²Π΅ΡΠΊΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ
https://encode.ru/threads/1757-Lossy-DEFLATE-lossy-PNG
Π ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ
https://github.com/foobaz/lossypng
ΠΠ°, pngquant Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠ΅Π΄Π½Π΅ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±Π»Π°ΡΡΡΡ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³Π΅, Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Ρ Π»ΠΈΡΠ½Π΅Π³ΠΎ ΡΡΠΌΠ°.
pngquant ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΡΠ°Ρ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Prewitt) ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³ ΠΏΠΎ ΠΊΡΠ°ΡΠΌ. ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠ° ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡ ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ΠΌΠ΅Ρ .
Π pngquant 90% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ°ΡΠΈΡΡΡ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΠΎΠ½Ρ K-ΡΡΠ΅Π΄Π½ΠΈΡ
. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ --speed 10
ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ (Π½Π° i7 2.3Ghz) Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ~ 80 ΠΌΡ Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ ΠΈ 50 ΠΌΡ Π±Π΅Π· ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°.
(ΠΡΡΠ°ΡΠΈ, Ρ TinyPNG Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ pngquant).
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ°, pngquant Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠ΅Π΄Π½Π΅ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±Π»Π°ΡΡΡΡ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³Π΅, Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Ρ Π»ΠΈΡΠ½Π΅Π³ΠΎ ΡΡΠΌΠ°.
pngquant ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΡΠ°Ρ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Prewitt) ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΈΠ·Π΅ΡΠΈΠ½Π³ ΠΏΠΎ ΠΊΡΠ°ΡΠΌ. ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠ° ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡ ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ΠΌΠ΅Ρ .
Π pngquant 90% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ°ΡΠΈΡΡΡ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΠΎΠ½Ρ K-ΡΡΠ΅Π΄Π½ΠΈΡ . ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅
--speed 10
ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ (Π½Π° i7 2.3Ghz) Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ~ 80 ΠΌΡ Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ ΠΈ 50 ΠΌΡ Π±Π΅Π· ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°.(ΠΡΡΠ°ΡΠΈ, Ρ TinyPNG Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ pngquant).