Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ PHPΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 47

Автор white cat

Π‘Ρ‚ΠΎΠΈΡ‚ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ 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


ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ.