【问题标题】:change transparent image color dynamically动态更改透明图像颜色
【发布时间】:2011-11-29 00:33:51
【问题描述】:

我必须使用 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 或 imagestick 任何功能解决吗???

【问题讨论】:

    标签: php image-processing gdlib


    【解决方案1】:

    如果您谈论的是质量问题或影子问题,那么我可以在应用过滤器之前使用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.';
    }
    ?>
    

    【讨论】:

    • 当我使用 imagefilter 并传递颜色时,颜色会改变,但结果图像颜色不是我传递的颜色。有什么建议吗?
    • 如果您分享操作中使用的图像和图像颜色会很棒。
    猜你喜欢
    • 1970-01-01
    • 2014-02-01
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    相关资源
    最近更新 更多