Использование ImageMagick

Ответить
Аватара пользователя
Igor_I

Использование ImageMagick

Сообщение Igor_I »

Может кто использует ImageMagick.

Не получается выставить компрессию.



PHP код:

Код: Выделить всё

// load an image

$img = new Imagick('upload/313/pNeDUU8F.jpg');



// compression methods, see "Contants"-page for Imagick

$img->setCompression(Imagick::COMPRESSION_JPEG);



// a value between 1 and 100, 1 = high compression, 100 low compression

$img->setCompressionQuality(100);



// set content type

header("Content-type: image/jpeg");



// write image

echo $img->getImageBlob(); 






Качество меняю от 40 до 100, размер файла как был 307 кб, так и остаётся.
Аватара пользователя
Igor_I

Re: Использование ImageMagick

Сообщение Igor_I »

Как сказал Mikko надо писать writeimage



PHP код:

Код: Выделить всё

$img1 = new Imagick('upload/FJQKMwJe.png');

$img1->setImageFormat('jpg');  

$img1->setImageCompression(Imagick::COMPRESSION_JPEG);

$img1->setImageCompressionQuality(50);

$img1->writeImage('tmp/1.jpg');

$s1=$img1->getImageSize(); 

$img1->clear();

$img1->destroy();  

 

$img2 = new Imagick('upload/FJQKMwJe.png');

$img2->setImageCompression(Imagick::COMPRESSION_JPEG);

$img2->setImageCompressionQuality(75);

$img2->writeImage('tmp/2.jpg');

$s2= $img2->getImageSize(); 

$img2->clear();

$img2->destroy();



$img3 = new Imagick('upload/FJQKMwJe.png');

$img3->setImageCompression(Imagick::COMPRESSION_JPEG);

$img3->setImageCompressionQuality(90);

$img3->writeImage('tmp/3.jpg');

$s3= $img3->getImageSize(); 



echo $s1." = ".$s2." = ".$s3; 






159887 = 218540 = 369199



PHP код:

Код: Выделить всё

$img1 = new Imagick('upload/FJQKMwJe.png');

$img1->setImageFormat('jpg');  

$img1->setImageCompression(Imagick::COMPRESSION_JPEG);

$img1->setImageCompressionQuality(50);

#$img1->writeImage('tmp/1.jpg');

$s1=$img1->getImageSize(); 

$img1->clear();

$img1->destroy();  

 

$img2 = new Imagick('upload/FJQKMwJe.png');

$img2->setImageCompression(Imagick::COMPRESSION_JPEG);

$img2->setImageCompressionQuality(75);

#$img2->writeImage('tmp/2.jpg');

$s2= $img2->getImageSize(); 

$img2->clear();

$img2->destroy();



$img3 = new Imagick('upload/FJQKMwJe.png');

$img3->setImageCompression(Imagick::COMPRESSION_JPEG);

$img3->setImageCompressionQuality(90);

#$img3->writeImage('tmp/3.jpg');

$s3= $img3->getImageSize(); 



echo $s1." = ".$s2." = ".$s3; 






347346 = 347346 = 347346



Но я правда не согласен с таким вариантом.



Возник другой вопрос, как добиться маленького размера в PNG.
Аватара пользователя
Igor_I

Re: Использование ImageMagick

Сообщение Igor_I »

До меня дошло почему так Изображение

ImageMagick - стороняя программа, К памяти в PHP она не имеет никакого отношения. Вот поэтому и надо записать на диск.
Ответить

Вернуться в «Вебмастеру»