我在导出均衡图像的颜色值时遇到问题,以便重新着色那些均衡的灰色区域。
$imagick = new \Imagick(realpath($imagePath));
$imagick->modulateImage(100,0,100);
$imagick->quantizeImage(
13,
Imagick::COLORSPACE_TRANSPARENT,
0,
true,
false
);
这导致由13种不同亮度级别创建的灰度图像。现在,我无法理解的是将13个亮度级别的颜色导出到数组中,以便使用opaquePaintImage
重新着色它们。
现在我只是重新着色RGBA值,这并不像我想的那样准确。
请注意,我也对如何重新着色RGBA值的范围感兴趣。如同,将230-255重新着色为红色,将210-230重新着色为橙色等
这几乎会更好。有什么想法吗?
答案 0 :(得分:0)
在ImageMagick中,有一个-fuzz XX%允许一系列值(某些特定颜色的百分比容差。请参阅http://us3.php.net/manual/en/imagick.opaquepaintimage.php的OpaquePaintImage中的fuzz选项
在Imagemagick中,有一些-unique-colors,用于列出图像中每种颜色中的一种颜色。请参阅http://us3.php.net/manual/en/imagick.uniqueimagecolors.php
上的UniqueImageColors