我想找到jpeg图像像素的颜色
在JavaScript中,从image创建一个画布,并使用getImageData方法获取像素的颜色:
canvas.getContext("2d").getImageData( 0, 0, canvas.width, canvas.height );
和这个功能:
function getPixelColor( imagedata, x, y ) {
var position = ( x + imagedata.width * y ) * 4, data = imagedata.data;
return { r: data[ position ], g: data[ position + 1 ], b: data[ position + 2 ], a: data[ position + 3 ] };
}
在php中,这3行代码:
$img = imagecreatefromjpeg($imagepath) ;
$rgb = imagecolorat($img, '1', '1');
$colors = imagecolorsforindex($img, $rgb);
当检查结果是否相等时,我发现它们不相等!
示例结果:
Canvas getImageData:
red : 238, green : 147, blue : 118
PHP imagecolorat:
red : 244, green : 145, blue : 113
任何人都可以提出改善我的结果的解决方案吗?
感谢
答案 0 :(得分:1)
你看着不同的像素。 phps情况下为1,1,javacripts中为0,0