1

我只有一个带有纯色星形图形的透明PNG,比如说#FF0000;
我可以做些什么来替换或转换为用户选择的任何十六进制颜色?
我查看了 PHP,但是在尝试了很多代码之后,似乎没有任何效果?(对于 PHP.net 上的几乎所有 imagick 函数,我都会收到警告,“此函数当前未记录”)

在我的服务器上,我运行 PHP 版本 5.2.5

imagick 模块版本:2.1.1 ImageMagick 版本:ImageMagick 6.4.1

GD 版本:捆绑(2.0.34 兼容)

4

1 回答 1

1

假设星形图形是统一的颜色,可以使用如下函数:

function recolorStar($filename, $color) {
    $img = new Imagick($filename);
    $img->colorizeImage($color, 0.0);
    header('content-type: image/png');
    echo $img;
}

$color 应以 RGB 十六进制格式指定,例如“#00FF00”。

如果您不想直接将其输出到浏览器,可以修改最后几行。

于 2011-01-27T03:31:08.877 回答