2

我必须使用 php 动态更改图像颜色我使用了以下代码

$imgname = "source.png";
$im = imagecreatefrompng ($imgname);
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 27, 133, 85))
{
    echo 'Image successfully shaded as per color.';

    imagepng($im, 'Result.png');
    imagedestroy($im);
}
else
{
    echo 'Image create succesfully.';
}

但是当我将它与透明图像一起使用时,它会显示我的大边框

我们可以使用 GD Lib 或图像棒解决任何功能吗???

4

1 回答 1

2

如果您在谈论质量问题或阴影问题,那么我可以imagesavealpha在应用过滤器之前通过使用功能来解决。

代码应该是

<?php
$imgname = "source.png";
$im = imagecreatefrompng ($imgname);
imagesavealpha($im, true);  
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 27, 133, 85))
{
    echo 'Image successfully shaded as per color.';

    imagepng($im, 'Result.png');
    imagedestroy($im);
}
else
{
    echo 'Image create succesfully.';
}
?>
于 2011-10-04T10:06:43.493 回答