php - IMG_FILTER_COLORIZE 问题

标签 php png gd transparent colorize

我已经在论坛上得到了一些关于如何使用图像过滤器 IMG_FILTER_COLORIZE 获得着色功能的很好的建议。

问题是它无法按照我希望的方式工作,下面的链接最好地说明了这一点: http://expromo.pl/klienci/imagefilter/

我有一个包含某种形状的透明 png。 我想要:

  • 像 Photoshop 图层设置一样更改形状的颜色/ 着色会
  • 保持透明度
  • 将其另存为另一个 PNG 文件

这是我的代码:

$im = imagecreatefrompng('image.png');
imagealphablending($im, false);

if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0,0,255,0))
{
    imagepng($im, 'image-new.png');
    imagedestroy($im);
}

在上面的链接上: http://expromo.pl/klienci/imagefilter/

第一张图片是我的。第二张图片是我得到的,第三张图片是我想要得到的。

提前非常感谢。

最佳答案

您必须添加imagesavealpha($im, true);,以便将 Alpha channel 保存在新图像上。

$im = imagecreatefrompng('image.png');
imagealphablending($im, false);

imagesavealpha($im, true);

if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0,0,255,0)) {
    imagepng($im, 'image-new.png');
    imagedestroy($im);
}

关于php - IMG_FILTER_COLORIZE 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7372178/

相关文章:

c# - 托管 PNG 优化库可用吗?

python - 使用 python 每页多个 png/pdf

ruby - 在 Ruby 中将 SVG 转换为 PNG

php - 我如何在PHP中绘制略带对角线的渐变填充?

PHP:如何从 .t​​tf 文件中读取 "Title"字体?

PHP 通过引用传递问题

php - 检查每个数据库查询的失败是否被认为是一种良好的 PHP 编码习惯?

php - 调整图像大小以完全适合尺寸(Codeigniter)

PHP 和 html 选择标签不写入数据库

php - Composer - 是否可以通过一个命令在 "require-dev"全局安装包?