ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΈΠ»ΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π½Π° Π²ΡΡΠΎΠΊΠΎΠΌ Ρ ΡΠ΄ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½Ρ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ (ΠΊΠ°ΠΊ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°ΠΊ ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΌΠ΅ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ). Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°.
Π Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π° ΡΠ΅ΡΠΌΠΈΠ½Π° - preview ΠΈ thumbnail. ΠΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π² ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ ΠΊΡΠΎΠΌΠ΅ Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΡΡΠ»Ρ ΡΠ΅ΡΠΌΠΈΠ½Π° - ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ°. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΎΡ Π½Π΅Π³ΠΎ (Ρ ΡΠ΅Π»ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅) Π»ΠΈΠ±ΠΎ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΠΎ ΡΠΌΡΡΠ»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ (Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΠ΅ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ ):
W
,H
- ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ;X
,Y
- ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ³Π»Π°);width
,height
- ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ;R
,ratio
- ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΊ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° ΠΈ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ;Ww
- ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΈΠ½Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΊ ΡΠΈΡΠΈΠ½Π΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ³ΠΎ;Hh
- ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΎΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΊ ΡΠΈΡΠΈΠ½Π΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ³ΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ - ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΎ-Π³Π°Π»Π΅ΡΠ΅ΠΈ, Π³Π΄Π΅ Π½Π° Π³Π»Π°Π²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π». ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π°.
Π Π°Π·ΠΌΠ΅Ρ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΡΠΎ-Π³Π°Π»Π΅ΡΠ΅ΠΈ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ:
- ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ;
- Π²ΡΡΠ΅Π·Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π°.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΡΡΠΈΡΡ ΠΎΠ±ΡΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (ΠΊΠ½ΠΈΠΆΠ½Π°Ρ ΠΈΠ»ΠΈ Π°Π»ΡΠ±ΠΎΠΌΠ½Π°Ρ). Π Π²ΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ Π΄Π°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½, ΡΡΠ΅ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ . Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠ²Π΅Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ , Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅, Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ΅ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ ΠΎΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ .
ΠΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ², ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π°Π²ΡΠΎΡ ΡΡΠ°ΡΡΠΈ ΠΈΡ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΠΊΡΠΎΠΌΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² - ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ΅Π·ΠΊΠ°), ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅. ΠΡΠ° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΠΎΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ»ΡΡΠΈΡΡΡ - Π°Π²ΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π΄.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΆΠ°ΡΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π°, ΡΠ°ΠΊ ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» Π²ΠΏΠΈΡΠ°Π½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
- ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ;
- Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅
R
; - Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΌΠ΅Π½ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ
R
ΠΈ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
ΠΠ° ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΡΠ°ΠΊ:
if W > H
then
height = H * width / W
else
width = W * height / H
end if
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π±ΡΠ΄ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΠΏΠΈΡΠ°Π½Π° Π² Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ Π±Π΅Π· ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ΅Π΄ΡΡΠ² Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° PHP (Π² ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $srcImage
, ΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Π² $width
ΠΈ $height
):
$dstImage = imagecreate($width, $height);
imagecopyresized(
$dstImage, $srcImage,
0, 0, 0, 0,
$width, $height, $W, $H);
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°Π²Π΅ΡΡΠΈΠΌ ΡΠΈΡΡΠ½ΠΊΠΎΠΌ, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠΈΠΌ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄.
Π ΠΈΡΡΠ½ΠΎΠΊ 1. ΠΠ΅ΡΠΎΠ΄ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ
ΠΡΡΠ΅Π·Π°ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± - Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π² ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° ΡΠ²Π½ΠΎ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½Π°. Π Π»ΡΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Π·Π°Π»ΠΎΠΆΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ - ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π° Π½Π° ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ΅. Π Ρ ΡΠ΄ΡΠ΅ΠΌ - Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΠΊΠΎΠΏΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½Ρ Π²ΡΠ±ΠΎΡΠ° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° PHP ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄:
$dstImage = imagecreate($width, $height);
imagecopy(
$dstImage, $srcImage
0, 0, $X, $Y,
$width, $height);
ΠΡΠΈ Π²ΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°Π²ΡΠΎΡ ΡΡΠΈΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΊΠΎΠΏΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π΅Π²ΡΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ:
- ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½Π°Ρ;
- ΠΊΡΠ°ΠΉΠ½ΠΈΠ΅ Π»Π΅Π²Π°Ρ ΠΈ ΠΏΡΠ°Π²Π°Ρ ΡΡΠΎΡΠΎΠ½Ρ;
- ΠΊΡΠ°ΠΉΠ½ΠΈΠ΅ Π²Π΅ΡΡ Π½ΡΡ ΠΈ Π½ΠΈΠΆΠ½ΡΡ Π³ΡΠ°Π½ΠΈΡΡ;
- ΡΠ³Π»Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΌ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠΈ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΎΠΏΠΈΡΠ°Π½ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅:
if horizontal align = left
then
X = 0
else if horizontal align = right
X = W - width
else
X = (W - width) / 2
end if
if vertical align = top
then
Y = 0
else if vertical align = bottom
Y = H - height
else
Y = (H - height) / 2
end if
Π ΠΈΡΡΠ½ΠΎΠΊ 2. Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ΅Π»ΠΎΠ³ΠΎ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΏΠΈΡΠ°ΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΆΠ°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π½Π° ΡΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π±ΡΠ»Π° Π²ΠΏΠΈΡΠ°Π½Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ, ΡΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΆΠ°ΡΡ ΠΌΠ΅Π½ΡΡΡΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 3. ΠΠ΅ΡΠΎΠ΄ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠΎΡΠΎΠ½ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΠΏΠΈΡΠ°Π½Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΠ°Π»ΠΎΠ³ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ (ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½. ΠΡΠΎΠ³ΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Ρ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΠΎΡΠΎΠ½ - Π±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΎΡΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ΅Π·Π°Π½ΠΎ ΠΏΡΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
Ww = W / width
Hh = H / height
if Ww > Hh
then
W = width * Hh
X = ...
else
H = height * Ww
Y = ...
end if
ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΉ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡ ΡΠ°Π½Π΅Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠΎΡΠΎΠ½ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΠΏΠΈΡΠ°Π½Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ, Π° Π΄ΡΡΠ³Π°Ρ - ΠΎΠ±ΡΠ΅Π·Π°Π½Π°, ΡΠΎ Π·Π΄Π΅ΡΡ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠΈ - ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌ, ΠΈΠ»ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΌ.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΡΠΎΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ. ΠΡΠΈΡΠΈΠ½Π° ΠΊΡΠΎΠ΅ΡΡΡ Π² ΡΠΎΠΌ ΡΡΠΎ, ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡΠ΅Π·Π°Π½ΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΡΠ΅Π»ΠΎΠ³ΠΎ, Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ΅ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ . ΠΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄Π²ΡΡ ΡΠ»ΡΡΠ°ΡΡ :
- Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , Π³Π΄Π΅ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°Π΄Π°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΡΠΈΠ½Π° ΠΈ/ΠΈΠ»ΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π²ΡΡΠΎΡΠ°);
- ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡ ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΠΎΡΠΎΠ½Π°ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ.
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° PHP Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ ΠΎΠ΄Π° ΠΌΠΎΠ΄ΡΠ»Ρ Thumbnail Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ output()
. Π ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° render()
, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅):
function output($input, $output=null, $options=array())
{
// Load source file and render image
$renderImage = Thumbnail::render($input, $options);
if ( ! $renderImage ) {
user_error('Error rendering image',
E_USER_NOTICE);
return false;
}
// Set output image type
// By default PNG image
$type = isset($options['type']) ? $options['type'] : IMAGETYPE_PNG;
// Before output to browsers send appropriate headers
if ( empty($output) ) {
$content_type = image_type_to_mime_type($type);
if ( ! headers_sent() ) {
header('Content-Type: ' . $content_type);
} else {
user_error('Headers have already been sent. Could not display image.',
E_USER_NOTICE);
return false;
}
}
// Define outputing function
switch ($type) {
case IMAGETYPE_PNG:
$result = empty($output)
? imagepng($renderImage)
: imagepng($renderImage, $output);
break;
case IMAGETYPE_JPEG:
$result = empty($output)
? imagejpeg($renderImage)
: imagejpeg($renderImage, $output);
break;
default:
user_error('Image type ' . $content_type . ' not supported by PHP',
E_USER_NOTICE);
return false;
}
// Output image (to browser or to file)
if ( ! $result ) {
user_error('Error output image',
E_USER_NOTICE);
return false;
}
// Free a memory from the target image
imagedestroy($renderImage);
return true;
}
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ - ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΈΠΌΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΉΠ». Π’ΡΠ΅ΡΠΈΠΉ, Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Π°, Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ - ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PNG ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 150Ρ 150 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
ΠΠΎΠ³ΠΈΠΊΠ° ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ render()
, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±ΡΠ΄ΡΡΠ΅ΠΉ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π΅Π³ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΡΠ°ΡΡΠ΅ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
:
function render($input, $options=array())
{
// Create the source image
$sourceImage = Thumbnail::imageΠ‘reate($input);
if ( ! is_resource($sourceImage) ) {
user_error('Invalid image resource',
E_USER_NOTICE);
return false;
}
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);
// Set default options
static $defOptions = array(
'width' => 150,
'height' => 150,
'method' => THUMBNAIL_METHOD_SCALE_MAX,
'percent' => 0,
'halign' => THUMBNAIL_ALIGN_CENTER,
'valign' => THUMBNAIL_ALIGN_CENTER,
);
foreach ($defOptions as $k => $v) {
if ( ! isset($options[$k]) ) {
$options[$k] = $v;
}
}
// Estimate a rectangular portion of the source image and a size of the target image
if ( $options['method'] == THUMBNAIL_METHOD_CROP ) {
if ( $options['percent'] ) {
$W = floor($options['percent'] * $sourceWidth);
$H = floor($options['percent'] * $sourceHeight);
} else {
$W = $options['width'];
$H = $options['height'];
}
$width = $W;
$height = $H;
$Y = Thumbnail::_coord($options['valign'], $sourceHeight, $H);
$X = Thumbnail::_coord($options['halign'], $sourceWidth, $W);
} else {
$X = 0;
$Y = 0;
$W = $sourceWidth;
$H = $sourceHeight;
if ( $options['percent'] ) {
$width = floor($options['percent'] * $W);
$height = floor($options['percent'] * $H);
} else {
$width = $options['width'];
$height = $options['height'];
if ( $options['method'] == THUMBNAIL_METHOD_SCALE_MIN ) {
$Ww = $W / $width;
$Hh = $H / $height;
if ( $Ww > $Hh ) {
$W = floor($width * $Hh);
$X = Thumbnail::_coord($options['halign'], $sourceWidth, $W);
} else {
$H = floor($height * $Ww);
$Y = Thumbnail::_coord($options['valign'], $sourceHeight, $H);
}
} else {
if ( $H > $W ) {
$width = floor($height / $H * $W);
} else {
$height = floor($width / $W * $H);
}
}
}
}
// Create the target image
if ( function_exists('imagecreatetruecolor') ) {
$targetImage = imagecreatetruecolor($width, $height);
} else {
$targetImage = imagecreate($width, $height);
}
if ( ! is_resource($targetImage) ) {
user_error('Cannot initialize new GD image stream',
E_USER_NOTICE);
return false;
}
// Copy the source image to the target image
if ( $options['method'] == THUMBNAIL_METHOD_CROP ) {
$result = imagecopy(
$targetImage, $sourceImage,
0, 0, $X, $Y,
$W, $H);
} elseif ( function_exists('imagecopyresampled') ) {
$result = imagecopyresampled(
$targetImage, $sourceImage,
0, 0, $X, $Y,
$width, $height, $W, $H);
} else {
$result = imagecopyresized(
$targetImage, $sourceImage,
0, 0, $X, $Y,
$width, $height, $W, $H);
}
if ( ! $result ) {
user_error('Cannot resize image',
E_USER_NOTICE);
return false;
}
// Free a memory from the source image
imagedestroy($sourceImage);
// Save the resulting thumbnail
return $targetImage;
}
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ PHP Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ - ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GD Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° imagecreatetruecolor
ΠΈ imagecopyresampled
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈΡ
ΠΌΠ΅Π½Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ imagecreate
ΠΈ imagecopyresized
.
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ $options
(Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² - ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Π° output()
ΠΈ Π²ΡΠΎΡΠΎΠΉ - ΠΌΠ΅ΡΠΎΠ΄Π° render()
) Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΠΎΠΏΡΠΈΠΈ
width
- ΡΠΈΡΠΈΠ½Π° ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ (ΡΠ΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 150);height
- Π²ΡΡΠΎΡΠ° ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ (ΡΠ΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 150);method
- ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ - ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅/ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅, Π²ΡΡΠ΅Π·Π°Π½ΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΡΠ΅Π»ΠΎΠ³ΠΎ(ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅);percent
- ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° (ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅ ΠΎΡ 0 Π΄ΠΎ 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0);halign
- Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ (Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0 - ΠΏΠΎ ΡΠ΅Π½ΡΡΡ, < 0 - Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π²Π΅ΡΡ Π½Π΅ΠΌΡ ΠΊΡΠ°Ρ, > 0 - Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΠΊΡΠ°Ρ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - 0);valign
- Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ (Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0 - ΠΏΠΎ ΡΠ΅Π½ΡΡΡ, < 0 - Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π»Π΅Π²ΠΎ, > 0 - Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΠΏΡΠ°Π²ΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - 0);type
- ΡΠΈΠΏ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (IMAGETYPE_PNG
ΠΈΠ»ΠΈIMAGETYPE_JPEG
, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ -IMAGETYPE_PNG
).
ΠΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΡΡΡΠ°Ρ
ΠΎΠ²Π°Π½ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΈΠΏΠΎΠ²ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ (Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°) ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ user_error
.
ΠΡΠΈΠ±ΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ. ΠΠΎ ΠΌΠ½Π΅Π½ΠΈΡ Π°Π²ΡΠΎΡΠ°, ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΡ Π² ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠ΅ΡΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ΅ΡΠΎΠ΄Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° - ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΠ°ΠΉΠ», ΡΡΡΠΎΠΊΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π· ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΠΈ)
function imageCreate($input)
{
if ( is_file($input) ) {
return Thumbnail::imageCreateFromFile($input);
} else if ( is_string($input) ) {
return Thumbnail::imageCreateFromString($input);
} else {
return $input;
}
}
function imageCreateFromFile($filename)
{
if ( ! is_file($filename) || ! is_readable($filename) ) {
user_error('Unable to open file "' . $filename . '"',
E_USER_NOTICE);
return false;
}
// determine image format
list( , , $type) = getimagesize($filename);
switch ($type) {
case IMAGETYPE_JPEG:
return imagecreatefromjpeg($filename);
break;
case IMAGETYPE_PNG:
return imagecreatefrompng($filename);
break;
}
user_error('Unsupport image type', E_USER_NOTICE);
return false;
}
function imageCreateFromString($string)
{
if ( ! is_string($string) || empty($string) ) {
user_error('Invalid image value in string',
E_USER_NOTICE);
return false;
}
return imagecreatefromstring($string);
}
ΠΠ΅ΡΠΎΠ΄ ΡΠ°ΡΡΠ΅ΡΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
function _coord($align, $param, $src)
{
if ( $align < THUMBNAIL_ALIGN_CENTER ) {
$result = 0;
} elseif ( $align > THUMBNAIL_ALIGN_CENTER ) {
$result = $param - $src;
} else {
$result = ($param - $src) >> 1;
}
return $result;
}
ΠΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΠ»Π°ΡΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ render()
, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±ΡΠ΄ΡΡΠ΅ΠΉ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΡΠ°ΡΡΠ΅ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
Π ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
/**
* Maximal scaling
*/
define('THUMBNAIL_METHOD_SCALE_MAX', 0);
/**
* Minimal scaling
*/
define('THUMBNAIL_METHOD_SCALE_MIN', 1);
/**
* Cropping of fragment
*/
define('THUMBNAIL_METHOD_CROP', 2);
/**
* Align constants
*/
define('THUMBNAIL_ALIGN_CENTER', 0);
define('THUMBNAIL_ALIGN_LEFT', -1);
define('THUMBNAIL_ALIGN_RIGHT', +1);
define('THUMBNAIL_ALIGN_TOP', -1);
define('THUMBNAIL_ALIGN_BOTTOM', +1);
http://phpmrtgadmin.sourceforge.net/download/demo/thumbnail/demo1.php
include_once 'includes/Thumbnail.php';
$filename = 'files/image.jpg';
Thumbnail::output($filename);
include_once 'includes/Thumbnail.php';
$input_file = 'files/image.jpg';
$output_file = 'files/thumb.jpg';
Thumbnail::output($input_file, $output_file);
ΠΡΠΈΠΌΠ΅Ρ 3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (JPEG, 200Ρ 200 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ)
http://phpmrtgadmin.sourceforge.net/download/demo/thumbnail/demo3.php
include_once 'includes/Thumbnail.php';
$filename = 'files/image.jpg';
$options = array(
'width' => 200,
'height' => 200,
'type' => IMAGETYPE_JPEG,
);
Thumbnail::output($filename, null, $options);
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PNG. Π£ΠΊΠ°Π·ΡΠ²Π°Ρ ΡΠ²Π½ΠΎ ΡΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ - JPEG). ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π² Π±ΡΠ°ΡΠ·Π΅Ρ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null
.
ΠΡΠΈΠΌΠ΅Ρ 4. ΠΠ°ΡΠΊΠ°Π΄Π½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ ΠΈΠ· ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
http://phpmrtgadmin.sourceforge.net/download/demo/thumbnail/demo4.php
include_once 'includes/Thumbnail.php';
$filename = 'files/image.jpg';
$middleImage = Thumbnail::render($filename, array(
'percent' => 0.5,
'method' => THUMBNAIL_METHOD_CROP,
));
Thumbnail::output($middleImage);
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠΈΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΠ½Π°ΡΠ°Π»Π΅ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠ΅Π·Π°Π΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° (50%). ΠΠ°ΡΠ΅ΠΌ, Π·Π° Π²ΡΠΎΡΠΎΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ ΠΈΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ (ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ 150Ρ 150 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ 5. Π‘Π»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ
http://phpmrtgadmin.sourceforge.net/download/demo/thumbnail/demo5.php
Π₯ΠΎΡΡ Π·Π°Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ Π½Π΅ ΡΠ°ΠΌΠ°Ρ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°, ΡΠ΅ΡΠ°Π΅ΠΌΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½Π° Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ΅. Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ Π²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ, ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² PHP.
ΠΠ΅ΡΠΎΠ΄Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ PNG ΠΈ JPEG. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌ, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ.
ΠΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, Π½ΠΎ Π² Π±ΠΎΠ³Π°ΡΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ PEAR Π½Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ°ΠΌΠΈ, Ρ ΠΎΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (ΠΎΠ±ΡΠ΅Π·ΠΊΠΈ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΈ Ρ.Π΄.) ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½.
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎ ΡΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ.