|
|
|
| сделал функцию наложения водного знака на изображение, водный знак с прозрачным слоев в формате png а картинка gif то прозрачный фон при выполнении функции становиться черным, а как сохранить прозрачность?
<?php
function WaterMark($filename)
{
$ext = array(1=>".gif",".jpg",".png");
$inf = getimagesize($filename);
$ext = $ext[$inf[2]];
// создаем jpeg из файла
if ($ext==".gif")
{
$src_img = imagecreatefromgif($filename);
}
if ($ext==".jpg")
{
$src_img = imagecreatefromjpeg($filename);
}
if ($ext==".png")
{
$src_img = imagecreatefrompng($filename);
}
$xi = imagesx($src_img);
$yi = imagesy($src_img);
$logo = imagecreatefrompng("../../media/logo.png");
$xl = imagesx($logo);
$yl = imagesy($logo);
$xi = ($xi/2)-($xl/2);
$yi = ($yi/2)-($yl/2);
imagecopy($src_img, $logo, $xi, $yi, 0, 0, $xl, $yl);
//сохраняем результат
if ($ext==".gif")
{
imagegif($src_img, $filename);
}
if ($ext==".jpg")
{
imagejpeg($src_img, $filename);
}
if ($ext==".png")
{
imagepng($src_img, $filename);
}
imagedestroy($src_img);
imagedestroy($logo);
return true;
}
?>
|
| |
|
|
|
|
|
|
|
для: Bvz
(29.11.2010 в 22:07)
| | а ничего, что GIF - палитровый формат, более 256 цветов в палитре не поддерживает, и прозрачность у него без переходов (либо пиксель 100% прозрачный, либо явный цвет из палитры)? | |
|
|
|
|
|
|
|
для: Trianon
(29.11.2010 в 22:18)
| | а виде кода это как сделатьбавить пиксель со 100% прозрачностью до? | |
|
|
|
|
|
|
|
для: Bvz
(29.11.2010 в 22:20)
| | даже не знаю что и ответить | |
|
|
|