Π‘ΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ, ΡΡΠΎ GD Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 1.6 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠΌΠ°Ρ GIF. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
imagePng
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² PNG-ΡΠΎΡΠΌΠ°ΡΠ΅ Π² Π»ΡΠ±ΠΎΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈΠ»ΠΈ Π² ΡΠ°ΠΉΠ».
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imagePng(int im [, string filename])
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π΅ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° Π΄ΠΈΡΠΊ, ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡ Π΅Π³ΠΎ Π² Π±ΡΠ°ΡΠ·Π΅Ρ.
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π²Π½Π°ΡΠ°Π»Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ imageCreate(), Ρ.Π΅. ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ im.
ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ filename ΠΎΠΏΡΡΠ΅Π½, ΡΠΎ ΡΠΆΠ°ΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΡΠΌΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ, Ρ.Π΅. Π² Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΡΠΆΠ½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-type ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ, Π²Π²ΠΈΠ΄Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Header().
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
Header("Content-type: image/png") Π΄Π»Ρ PNG.
ΠΡΠΈΠΌΠ΅Ρ:ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ imagepng():
<?php
$im = imagecreatefrompng ("test.png");
Header("Content-type: image/png")
imagepng ($im);
?>
imageJpeg
ΠΡΡΡΠ»ΠΊΠ° ΡΠΈΡΡΠ½ΠΊΠ° JPEG Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageJPEG(int im [, string filename [, int quality]])
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π΅ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° Π΄ΠΈΡΠΊ, ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ Π² Π±ΡΠ°ΡΠ·Π΅Ρ.
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π²Π½Π°ΡΠ°Π»Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ imageCreate(), Ρ.Π΅. ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ im.
ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ filename ΠΎΠΏΡΡΠ΅Π½, ΡΠΎ ΡΠΆΠ°ΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΡΠΌΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ, Ρ.Π΅. Π² Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΡΠΆΠ½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-type ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ, Π²Π²ΠΈΠ΄Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Header().
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
Header("Content-type: image/jpeg") Π΄Π»Ρ Jpeg
Π’ΡΠ΅ΡΠΈΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ quality Π·Π°Π΄Π°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΎΡ 0 Π΄ΠΎ 100).
<?php
$im=imageCreateFromJPEG("img/file.jpg");
Header("Content-type: image/jpeg");
imageJPEG($im,"",30);
?>
image2WBMP
ΠΡΠ²ΠΎΠ΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ».
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int image2WBMP( resource image [, string filename [, int threshold]])
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ image, Π² Π±ΡΠ°ΡΠ·Π΅Ρ, Π»ΠΈΠ±ΠΎ Π² ΡΠ°ΠΉΠ», ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ filename.
ΠΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΈΠΏ WBMP ΠΊΠ°ΠΊ image/vnd.wap.wbmp ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Header():
<?php
$file = "php.png";
$image = imagecreatefrompng($file);
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // ΠΡΠ²ΠΎΠ΄ wbmp-ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² Π±ΡΠ°ΡΠ·Π΅Ρ
?>
Π€ΡΠ½ΠΊΡΠΈΡ image2WBMP() Π΄ΠΎΡΡΡΠΏΠ½Π° PHP ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GD 1.8 ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅.
imageGif
ΠΡΡΡΠ»ΠΊΠ° ΡΠΈΡΡΠ½ΠΊΠ° GIF Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageGIF(int im [, string filename])
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π΅ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° Π΄ΠΈΡΠΊ, ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡ Π΅Π³ΠΎ Π² Π±ΡΠ°ΡΠ·Π΅Ρ.
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π²Π½Π°ΡΠ°Π»Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ imageCreate(), Ρ.Π΅. ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ im.
ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ filename ΠΎΠΏΡΡΠ΅Π½, ΡΠΎ ΡΠΆΠ°ΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΡΠΌΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ, Ρ.Π΅. Π² Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΡΠΆΠ½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-type ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ, Π²Π²ΠΈΠ΄Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Header().
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
Header("Content-type: image/gif")
Π’.ΠΊ. Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° GD, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 1.6, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠΌΠ°Ρ GIF, Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π΄ΠΊΠΎ.
imageCopy
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ½ΠΊΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageCopy(int dst_im, int src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h)
Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (src_x, src_y) ΡΠΈΡΠΈΠ½ΠΎΠΉ src_w ΠΈ Π²ΡΡΠΎΡΠΎΠΉ src_h ΠΈΠ· ΡΠΈΡΡΠ½ΠΊΠ° src_im Π² ΡΠΈΡΡΠ½ΠΎΠΊ dst_im, ΠΏΡΠΈΠ΄Π°Π² ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (dst_x, dst_y).
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° file1.png ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π° Π² file2.png
<?php
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
$im1=imageCreateFromPNG("img/file1.png");
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡ
$size_x=imageSX($im1);
$size_y=imageSY($im1);
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΡΠΎΡΡΡ ΠΏΡΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ
$im2=imageCreate($size_x,$size_y);
// ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠΈΡΡΠ½ΠΎΠΊ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠ΅
imageCopy($im2,$im1,0,0,0,0,$size_x,$size_y);
// Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅
imagePNG($im2, "img/file2.png");
?>
imageCopyResized
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ½ΠΊΠ° Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageCopyResized(int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ - ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΌΠΎΡΠ½ΡΡ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ . Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΠΈΡ ΡΡΠ°ΡΡΠΊΠΈ), ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ .
dst_im Π·Π°Π΄Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΆΠ΅ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ.
src_im - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°. ΠΠΏΡΠΎΡΠ΅ΠΌ, src_im ΠΈ dst_imΠΌΠΎΠ³ΡΡ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ srcX, srcY, srcW, srcH Π·Π°Π΄Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ - ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΅Π΅ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π°, ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ΅ΡΠ²Π΅ΡΠΊΠ° dstX, dstY, dstW, dstH Π·Π°Π΄Π°Π΅Ρ ΡΠΎ ΠΌΠ΅ΡΡΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ dst_im, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ "Π²ΡΠΈΡΠ½ΡΡ" ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ΅ΡΠ²Π΅ΡΠΊΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° ΠΈΠ»ΠΈ Π²ΡΡΠΎΡΠ° Π΄Π²ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΡΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π½ΡΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ°ΡΡΡΠ½ΡΡΠ° ΠΈΠ»ΠΈ ΡΠΆΠ°ΡΠ°.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ» file1.jpg ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π²Π΄Π²ΠΎΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΠΉΠ» file2.jpg:
<?php
$old = imageCreateFromJpeg("img/file1.jpg");
$w = imageSX($old);
$h = imageSY($old);
$w_new=rounr($w/2);
$h_new=round($h/2);
$new = imageCreate($w_new, $h_new);
imageCopyResized($new, $old, 0, 0, 0, 0, $w_new, $h_new, $w, $h);
imageJpeg($new, "img/file2.jpg");
imageDestroy($old);
imageDestroy($new);
?>
imageDestroy
Π£Π½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ½ΠΊΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageDestroy(int im)
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ im ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ° (Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° fclose() ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΡΡΡΠΈΡ fopen()).
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ²Π΅ΡΠΎΠΌ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ RGB
imageColorAllocate
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΠΈ Π·Π°Π½Π΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² ΠΏΠ°Π»ΠΈΡΡΡ ΡΠΈΡΡΠ½ΠΊΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageColorAllocate(int im, int red, int green, int blue)
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ²Π΅ΡΠ°, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠΎΠΉΠΊΠΎΠΉ RGB. ΠΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΠ°ΠΌΡΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ red, green ΠΈ blue Π·Π°Π΄Π°ΡΡ ΠΊΡΠ°ΡΠ½ΡΠΉ, Π·Π΅Π»Π΅Π½ΡΠΉ ΠΈ ΡΠΈΠ½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ²Π΅ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π»Π΅ΠΆΠ°ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΡ 0 Π΄ΠΎ 255, ΠΈΠ»ΠΈ ΠΎΡ 0x00 Π΄ΠΎ 0xFF.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½) ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ imageColorAllocate():
<?php
. . .
// Π±Π΅Π»ΡΠΉ
$white = imagecolorallocate($im, 255, 255, 255);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
// ΡΠ΅ΡΠ½ΡΠΉ
$black = imagecolorallocate($im, 0, 0, 0);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
. . .
?>
imageColorDeAllocate
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΡΠΈΡΡΠ½ΠΊΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageColorDeAllocate(int im, int color)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΡΠΈΡΡΠ½ΠΊΠ° im ΡΠ²Π΅Ρ color, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π½Π΅ΡΠ΅Π½ Π² ΡΠΈΡΡΠ½ΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ imageColorAllocate().
ΠΡΠΈΠΌΠ΅Ρ:ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ imageColorDeAllocate():
<?php
. . .
$white = imageColorAllocate ($im, 255, 255, 255);
imageColorDeAllocate ($im, $white);
. . .
?>
imageColorSet
ΠΠ°ΠΌΠ΅Π½Π° ΡΠ²Π΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ°Π»ΠΈΡΡΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
bool imageColorSet(int im, int index, int red, int green, int blue)
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ°Π»ΠΈΡΡΡ index ΡΠΈΡΡΠ½ΠΊΠ° im Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ²Π΅ΡΠ°: red (ΠΊΡΠ°ΡΠ½ΡΠΉ), green (Π·Π΅Π»Π΅Π½ΡΠΉ), blue (ΡΠΈΠ½ΠΈΠΉ). ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ½ΠΊΠ°, Π·Π°ΠΊΡΠ°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΡΠ²ΠΎΠΉ ΠΎΡΡΠ΅Π½ΠΎΠΊ.
imageColorClosest
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΏΠ°Π»ΠΈΡΡΡ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ.