Оптимизация PNG

1. Максим (29.08.2009 / 10:00)
Как можно сжать пнг картинку средствами php?

2. Анатолий (29.08.2009 / 13:10)
$con_width=100;		//желаемая ширина картинки
$fn="image.png";	//Адрес картинки
$src=imagecreatefrompng($fn); //Загузка картинки в среду РНР
$width=imagesx($src); //Ширина
$height=imagesy($src); //Высота
header("Content-type: image/png"); //Указываем, что надо выводить картинку PNG
if($width>$con_width){	//Если ширина больше указаной
	$koef=$width/$con_width; //Ищем коефициент уменьшения
	$wd=round($width/$koef); //Находим ширину готового изображения
	$hd=round($height/$koef); //Находим высоту готового изображения
	$dest=imagecreatetruecolor($wd,$hd); //Создаем пустое полноцветное изображение с нужными размерами
	imagecopyresized($dest, $src, 0, 0, 0, 0, $wd, $hd,$width, $height); //Копируем картинку с преобразованием размеров в $dest	
}else{ //Если не требуется уменьшение
	$dest=imagecreatefrompng($fn); //Загузка картинки в среду РНР
};
imagepng($dest); //Рисуем картинку
imagedestroy($dest); //Чистим буфер
imagedestroy($src);	//Чистим буфер


3. Анатолий (29.08.2009 / 13:12)
Если надо сохранять уменьшеные картинки на сервере, тогда в функции imagepng() вторым аргументом напиши желаемый путь новой картинки

4. Максим (29.08.2009 / 14:27)
зачем мне изменение размера (файла), это я и сам могу)
я же написал, оптимизация..
уже разобрался. в imagepng можно передать третий аргумент - сжатие, от 0 до 9, 0 - без сжатия, 9 - максимально.

5. Анатолий (29.08.2009 / 14:41)
4, я не знал, что кроме изменения размера-качества картинок, есть еще какие либо оптимизации

6. Максим (29.08.2009 / 14:49)
ну я же не говорил, что надо изменить разрешение..
ладно, все, проблема решена.

7. Анатолий (29.08.2009 / 15:04)
mister

URL: https://visavi.net/topics/338