Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > PHP градиентная прозрачность копируемых изображени


Автор: mmotor 20.7.2015, 00:05
Как пересохранить изображение с изменением размера на php и сохранением прозрачности градиента

Автор: mmotor 20.7.2015, 04:07
Прозрачность в png с градиентом сделал, но теперь прозрачность в гиф сохраняется в зеленом цвете. Почему и как поправить?

Автор: Game-lot 22.7.2015, 11:51
Копайте в сторону альфа-канала.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/PHP-gradiyentnaya-prozrachnost-kopiruyemykh-izobrazheni-id55ac113cae201585178b4567#findElement_E7045_55af59afae20158a2acac6cf_0

Автор: _zorn_ 26.7.2015, 09:42
Какой нафиг альфа канал в гиф ? 
В гиф прозрачность одноцветная.

Автор: mmotor 27.7.2015, 15:44
Делаю так, и получаю зеленый фон в гиф изображениях вместо прозрачного

Код

$src = imagecreatefromstring($imagestring);
list($wO, $hO) = getimagesize($imagename);
$dest = imagecreatetruecolor(80, 80);
imagealphablending($src, false); 
imagesavealpha($src, true); 
$opacity = imagecolorallocatealpha($src,  255, 255, 255, 127);
imagefill($src, 0, 0, $opacity);
imagealphablending($dest, false);
imagesavealpha($dest, true); 
imagefilledrectangle($dest, 0, 0,  $wO, $hO, $opacity); 
imagecopyresampled($dest, $src, $dst_x, $dst_y, 0, 0, $dst_w, $dst_w, $wO, $hO);
switch($imagetipe):
    case "jpg":
    case "jpeg":
        imagejpeg($dest,"./image/".$n.".jpeg",100); break;
    case "png":
    imagepng($dest,"./image/".$n.".png",0); break;
    case "gif":
    imagegif($dest,"./image/".$n.".gif",null); break;
endswitch;
imagedestroy($src);
imagedestroy($dest);


Автор: _zorn_ 27.7.2015, 17:11
Цитата(mmotor @  27.7.2015,  22:44 Найти цитируемый пост)
Делаю так

Наверное не "делаю", а "скопировал не понимая".
В гиф ты никак не добьёшся градиентной прозрачности. Кури формат и смирись.

Если не веришь, попробуй хотя бы фотошопе ее сделать  smile 

Автор: mmotor 28.7.2015, 01:04
Причем здесь градиентная прозрачность, как обычную прозрачность сохранить.

Автор: _zorn_ 29.7.2015, 16:25
http://php.net/imagegif
Цитата
Файл будет иметь формат GIF87a, если изображение не было сделано прозрачным функцией imagecolortransparent(). В этом случае форматом файла будет GIF89a. 

http://php.net/imagecolortransparent

Я думал ты хоть документацию прочитал.

Автор: WebGorizont 14.12.2015, 20:23
Прозрачность в пхп все в документации есть.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)