Вы не зашли.
Главная » PHP » Качество PNG картинок
#1. Fuelen Off (5)
Участник
2009.10.20 00:12
Как сделать чтобы при сохранении пнг картинок они были низкого качества? А то после обработки картинка 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 22:10)
на хую вас вертів
#2. Gemorroj Off (107)
Administrator
2009.10.20 00:12
imagepng($screen, '../data/screen/'.$screename, 9);
#3. Fuelen Off (5)
Участник
2009.10.20 01:01
Не работаетsad
К тому же в imagepng() не предусмотрен третий атрибут.
на хую вас вертів
#4. Gemorroj Off (107)
Administrator
2009.10.20 01:01
http://ru.php.net/imagepng
даже четвертый предусмотрен.
#5. Fuelen Off (5)
Участник
2009.10.20 08:08
На пых.су только два...
Всё равно не работает ;(
на хую вас вертів
#6. Gemorroj Off (107)
Administrator
2009.10.20 09:09
версия php?
Добавлено спустя    23 секунды:
и что значит не работатет?
#7. Fuelen Off (5)
Участник
2009.10.20 10:10
5.2.11
Добавлено спустя   1 минуту  42 секунды:
качество не меняет. Как была картинка 30кб после обработки этим кодом, так и осталась.
на хую вас вертів
#8. Gemorroj Off (107)
Administrator
2009.10.20 11:11
значит меньше и не сделаешь, перегоняй в gif.
#9. Fuelen Off (5)
Участник
2009.10.20 12:12
Сделал сохранение из пнг в гиф.
Загрузил картинку пнг 8кб.
Стала 17кб гиф
на хую вас вертів
#10. Fuelen Off (5)
Участник
2009.10.20 12:12
Функция наложения копирайта.
Но не думаю что через неё траблы
Код:
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 12:12)
на хую вас вертів
#11. Gemorroj Off (107)
Administrator
2009.10.20 14:02
т.е. ты на картинку накладываешь копирайт и хочешь чтобы размер не увеличился?
#12. Fuelen Off (5)
Участник
2009.10.20 15:03
Размер копирайта менше 500б.
Даже если отключить наложение копирайта, то размер увеличивается.
Протестил - так само и с гиф и с джпег
на хую вас вертів
#13. Fuelen Off (5)
Участник
2009.10.20 22:10
Gemmoroj, если не сложно, можешь проверить код первого поста?
Уже 3-й день мучусь с этим((
на хую вас вертів
#14. Gemorroj Off (107)
Administrator
2009.10.20 22:10
6 строка: $image=imagecreatefrompng('../data/tmp/'.$screename);
файл должен существовать.
#15. Fuelen Off (5)
Участник
2009.10.20 22:10
Gemorroj написал:
6 строка: $image=imagecreatefrompng('../data/tmp/'.$screename);
файл должен существовать.
Он существует.
Добавлено спустя   1 минуту  37 секунд:
Там просто код вырезан где он сохраняется
Добавлено спустя   3 минуты  2 секунды:
Попробуй у себя затестить.
Закинь картинку пнг и чтобы обработало её этим кодом
на хую вас вертів
#16. Fuelen Off (5)
Участник
2009.10.21 10:10
Тему #
на хую вас вертів
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.018 s