Вы не зашли.
Как сделать чтобы при сохранении пнг картинок они были низкого качества? А то после обработки картинка 150х150весит 30кб((
Где ошибка может быть?
Код:
span style="color: #0000BB"><?php$max_height=356;$max_width=416;$screename=time().'.png';$image=imagecreatefrompng('../data/tmp/'.$screename);$width=imagesx($image);$height=imagesy($image);$x_ratio = $max_width/$width; $y_ratio = $max_height/$height; if(($width<=$max_width)&&($height<=$max_height)){$tn_width=$width;$tn_height=$height;}elseif(($x_ratio*$height)<$max_height){$tn_height=ceil($x_ratio*$height);$tn_width=$max_width;}else{$tn_width=ceil($y_ratio*$width);$tn_height=$max_height; }$screen=ImageCreateTrueColor($tn_width,$tn_height);imagecopyresampled($screen, $image, 0, 0, 0, 0, $tn_width,$tn_height,$width,$height);imagedestroy($image);$screen=img_copyright($screen);imagecolortransparent($screen, 0);imagepng($screen,'../data/screen/'.$screename);imagedestroy($screen);?> |
Отредактировано Gemorroj (2009.10.20 18:06)
на хую вас вертів
imagepng($screen, '../data/screen/'.$screename, 9);
Не работает
К тому же в imagepng() не предусмотрен третий атрибут.
на хую вас вертів
На пых.су только два...
Всё равно не работает ;(
на хую вас вертів
версия php?
Добавлено спустя 23 секунды: и что значит не работатет?
5.2.11
Добавлено спустя 1 минуту 42 секунды: качество не меняет. Как была картинка 30кб после обработки этим кодом, так и осталась.
на хую вас вертів
значит меньше и не сделаешь, перегоняй в gif.
Сделал сохранение из пнг в гиф.
Загрузил картинку пнг 8кб.
Стала 17кб гиф
на хую вас вертів
Функция наложения копирайта.
Но не думаю что через неё траблы
Код:
lt;?function img_copyright($img){if($copy=imagecreatefromstring(file_get_contents(HOME.'/images/copy.png'))){$img_x=imagesx($img);$img_y=imagesy($img);$copy_x=imagesx($copy);$copy_y=imagesy($copy);$w=intval(min($img_x/2.5,$copy_x,128));$h=intval(min($img_y/2.5,$copy_y,64));$x_ratio = $w/$copy_x; $y_ratio = $h/$copy_y; if (($copy_x <= $w) && ($img_y <= $h)){$dstW = $copy_x;$dstH = $copy_y;} elseif (($x_ratio * $copy_y) < $h){ $dstH = ceil($x_ratio * $copy_y);$dstW = $w;}else{$dstW = ceil($y_ratio * $copy_x);$dstH = $h;}imagecopyresampled($img, $copy, $img_x-$dstW, $img_y-$dstH, 0, 0, $dstW, $dstH, $copy_x, $copy_y);}return $img;}?> |
Отредактировано Fuelen (2009.10.20 08:08)
на хую вас вертів