watermark resize

Kirill

Новичок
watermark resize

Есть watermark (PNG), нужно его уменьшать в зависимости от размера картинки - чтобы красиво смотрелось.
Если накладывать оригинальный watermark - все ок. Если уменьшенный - у уменьшенного waermark черный фон. Если открыть уменьшенный watermark фотошопом - все ок - фон прозрачный.
Код который создает уменьшенный ватермак:
PHP:
$img=imagecreatefrompng($path_watermark);

$thumb=imagecreatetruecolor($image_new_size['w'], $image_new_size['h']);

imagealphablending($thumb, false);
imagesavealpha($thumb, true);
imagecolorallocatealpha($thumb, 0, 0, 0, 127);

imagecopyresampled($thumb, $img, 0, 0, 0, 0, $image_new_size['w'], $image_new_size['h'], $image_prop[0], $image_prop[1]);

imagepng($thumb, $new_path);
в чем может быть трабла?
 

kruglov

Новичок
Можно попробовать создать пустую картинку (imageCreateTrueColor), на нее наложить thumb, потом watermark. А не сразу ватермарк на thumb накладывать.
 

Kirill

Новичок
проблема в том что уменьшенный watermak сохраняется как png 24, а нужно как png 8 (исходный такой).
Уважаемые знатоки, внимание вопрос, как мне сохранить уменьшенный ватермак как png-8, а не 24?
 

Kirill

Новичок
отдельно он сохраняется по двум причинам:
1) если класс по работе с изображениеми (ресайз), вотермак там не предусмотрен. переписывать сейчас его времени нету, проще отдельно дописать.
2) вотремак нужен не на все изображения, а только на некоторые.
Исходя из этих двух причин и катострафическую нехватку времени вотермак отдельно сохраняется.

исходный сейчас попробую заменить на png-24 но не уверен что поможет.
 

kruglov

Новичок
Kirill
Все прочитали и не нашли в комментах описания того, как человек полупрозрачные PNG с альфа-каналом ресайзит?
 

Kirill

Новичок
http://ru2.php.net/manual/ru/function.imagepng.php#72237 - не помогло

http://ru2.php.net/manual/ru/function.imagepng.php#64061 - не помогло

Проблема не в том что уменьшенный png непрозрачный, а в том что он в формате png-24, а нужно png-8

-~{}~ 22.02.08 13:25:

http://php.yar.ru/manual/ru/function.imagecreatefrompng.php#71091 - здесь похожая проблема
 

Kirill

Новичок
функция которая ватермак накладывает требует на вход png-8, иначе прозрачность теряется при наложении.

http://php.yar.ru/manual/ru/function.imagecreatefrompng.php#71091 - здесь описывается как сохранить картинку как png-8. тему можно закрывать.
 
Сверху