|
|
|
| Подскажите, почему не выводится прозрачный фон?
$im=@imagecreatefrompng($dir.$file.'.png');
if(!$im)
{
$im=errorimg();
}
else
{
//прозрачность
$tcl=imagecolorallocate($im,0,255,255);
imagecolortransparent($im,$tcl);
}
header("Content-type: image/gif");
imagegif($im);
imagedestroy($im);
|
| |
|
|
|
|
|
|
|
для: ROC8
(14.06.2009 в 14:34)
| | Судя по тому, что написано в документации:
Список параметров
image
An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().
|
http://ru2.php.net/imagecolortransparent
Вам придется использовать imagecreatetruecolor()
Затем imagecolortransparent()
И копировать на полученное imagecreatetruecolor() ваше изображение с помощью imagecopymerge()
Тогда должна появиться прозрачность...
<?php
$im_true_color = imagecreatetruecolor ( 100 , 100 );
$im_from_png = imagecreatefrompng('test.png');
//прозрачность
$tcl=imagecolorallocate($im_true_color,0,255,255);
imagecolortransparent($im_true_color,$tcl);
imagecopymerge ( $im_true_color , $im_from_png , 0 , 0 , 0 , 0 , 100 , 100 , 100 );
header('Content-Type: image/gif');
imagegif($im_true_color);
imagedestroy($im_true_color);
imagedestroy($im_from_png);
?>
|
| |
|
|
|
|
|
|
|
для: Zend72
(14.06.2009 в 15:15)
| | Так я же в gif сохраняю (8 бит), зачем мне создавать truecolor (24 бита)? Разве открываемый png не truecolor, может наоборот в палитру надо переводить? | |
|
|
|
|
|
|
|
для: Zend72
(14.06.2009 в 15:15)
| | Так я же в gif сохраняю (8 бит), зачем мне создавать truecolor (24 бита)? Разве открываемый png не truecolor, может наоборот в палитру надо переводить? | |
|
|
|
|
|
|
|
для: ROC8
(14.06.2009 в 15:30)
| | Вот вам код. Цвет rgb(0,255,255) действительно стал прозрачным.
>Так я же в gif сохраняю (8 бит), зачем мне создавать truecolor (24 бита)?
Затем, что в документации так написано. А именно: у imagecolortransparent() первым параметром может быть только дескриптор врзвращенный функцией imagecreatetruecolor(). | |
|
|
|
|
|
|
|
для: Zend72
(14.06.2009 в 15:35)
| | Извините, с первого взгляда как-то нелогично выглядит. Спасибо, все работает отлично. | |
|
|
|
|
|
|
|
для: ROC8
(14.06.2009 в 15:59)
| | Незачто. Хорошо, что работает ;-) | |
|
|
|