我希望使用php和imagick获得像素的颜色值。我尝试了下面的代码。但似乎没有像我预期的那样正常工作。这是我的代码。
<?php
$image = new imagick( 'C:\Users\me\Desktop\bb.png' );
for($x=1;$x<=4;$x++)
{
for($y=1;$y<=4;$y++)
{
$pixel= $image->getImagePixelColor( $x, $y);
$red=$pixel->getColorValue(Imagick::COLOR_RED).PHP_EOL;
$green=$pixel->getColorValue(Imagick::COLOR_GREEN).PHP_EOL;
$blue=$pixel->getColorValue(Imagick::COLOR_BLUE).PHP_EOL;
$alpha=$pixel->getColorValue(Imagick::COLOR_ALPHA).PHP_EOL;
}
}
print_r("red at 3rd pixel :"+$red[3]);
根据上面的代码,它应该是16pixels。但它只读取3个像素。这意味着如果我print_r($ red [4])它会在第32行的C:\ xampp \ htdocs \ imageP \ ab2.php中给出未初始化的字符串偏移:4; 我找不到任何错误。请帮帮我。