【发布时间】:2016-02-10 06:01:22
【问题描述】:
我正在尝试计算特定图像中具有透明度的像素的百分比。为此,我试图检测像素是否具有透明度(在 PHP 上使用 Imagick)。我知道基本上有'getPixel'和'getColor'返回一个rgba数组,但是我也得到了用于jpg和非透明pngs图像的'a'的各种值......我尝试过有和没有归一化.
例如,对于这张图片,我得到了 0、1、0.1、0.9 等各种像素 的 alpha 值。
这是我正在使用的代码:
$imageIterator = $image->getPixelIterator();
foreach ($imageIterator as $row => $pixels) {
foreach ($pixels as $column => $pixel) {
$color = $pixel->getColor(true);
echo $color['a'] . PHP_EOL;
...
我做错了什么?是否有其他方式获取此信息?
【问题讨论】:
-
谢谢 - 我添加了它。
-
那张图片不透明。
-
Danack - 我没有说它是,Imagick 声称它是......请再次阅读我的描述,如果您有任何贡献,我会很高兴。
标签: php imagemagick transparency imagick