4

我知道 Imagemagick 可以通过将图像转换为灰度,然后创建渐变并执行颜色查找表转换来实现“渐变映射”效果。

我想知道的是 PHP 的默认图像函数是否可以拍摄全彩色图像,并将其变成双色调。

如果 IMG_FILTER_COLORIZE 允许我指定两种颜色,它会起作用!

4

1 回答 1

1

如果想获得“渐变图”效果。程序是:

  1. 将您的图像设置为灰度...最简单的方法是使用 ATSC 开发的用于 HDTV 的模型(http://en.wikipedia.org/wiki/Grayscale):

亮度 = 0.2126 * R + 0.7152 * G + 0.0722 * B

  1. 一旦你有了你的亮度,你必须创建一个函数来将亮度从 0~100% 映射到你想要的从 0%~100% 的颜色渐变......换句话说:

亮度 = 0% --> 颜色 A

亮度 = 100% --> 颜色 B

luma = X% --> A 和 B 之间的插值 ... InterpolatedColor = X% * B + ( 100 - X )% * A

当然,将这些公式应用于所有通道 R、G 和 B。

一旦您可以访问图像的像素,这可以在 PHP 中轻松完成。

于 2013-05-12T01:25:39.033 回答