Php операции с изображениями
Подскажите пожайлуйста PHP скрипт вывода картинки так чтобы она выводилась худшего качества т.е. чтоб весила меньше. Например вместо 150 Кб только 30 кб...
Проще всего такие вещи делать с JPEG изображениями.
где
image - идентификатор изображения
filename - имя файла
quality - качество изображения
0 - минимальное качество
100 - максимальное качество
Например:
$im=ImageCreateFromJpeg("1.jpg");
ImageJPEG($im,"",20);
?>
Подскажите пожайлуйста PHP скрипт вывода картинки так чтобы она выводилась худшего качества т.е. чтоб весила меньше. Например вместо 150 Кб только 30 кб...
Можно не только изменить качесто jpeg, но и уменьшить картинку. Правда, может вылетать с error 500 при недостаточном лимите памяти и времени выполнения.
function resizeimage($from, $to, $quality=50, $twidth=0, $theight=0) {
// $from - исходный файл
// $to - результирующий файл
// $quality - качество, по умолчнию 50
// $twidth, $theight - ширина и высота результирующего файла
list($width, $height, $type)=getimagesize($from);
if (($twidth==0) || ($theight==0)) {
$twidth=$width;
$theight=$height;
}
switch ($type) {
case 2: // jpeg
$src_im=imagecreatefromjpeg($from);
$dst_im=imagecreatetruecolor ($twidth, $theight);
imagecopyresampled( $dst_im, $src_im, 0, 0, 0, 0, $twidth, $theight, $width, $height);
imagejpeg($dst_im, $to, $quality);
break;
}
return ("src=\"".$to."\" width=\"".$twidth."\" height=\"".$theight."\"");
}
Мне тут на одном из форумов ссылку киднули по этой теме, так что кому интересно что можно делать с картинками на языке PHP:
http://php5.ru/articles/image