2012-11-23 47 views
1

有时imagecolorat()会返回0,并在我要分析的PNG中显示一些像素。这是为什么?php imagecolorat returns 0.为什么?

我看了像素,颜色真的是#111111。所以它应该返回1118481.对吗?

我尝试使用imagealphablending($ IMG,真正的),但我仍然得到0

谢谢!

$img = @imagecreatefrompng($png); 

if(!$img){ 
throw new Exception("Error loading PNG."); 
} 
var_dump(imagecolorat($img, 37, 625)); 

结果:

int 0 
+2

你能给我们一些代码吗? –

+0

@Ninsuo我加了一部分代码。 –

回答

2

如果图像被正确地装载,你会得到0,则它意味着颜色为纯黑色(RGB = 000000 => 0)

+0

是的。你是对的...嗯 –

+0

随时接受答案然后:) –

+0

谢谢,我看着错误的像素。 –

0

,因为这是彩色(红色= 0,绿色= 0,蓝色= 0)

如果你尝试它的大多数其他像素,你会得到16777215(0xFFFFFF),这是白色(红色= 255,绿色= 255,蓝色= 255)。

0

或者颜色是黑色的,或者我认为图像加载不正确。至少不是你所举的例子。也许@隐藏了未加载图像的错误。它的url重定向到另一个,在这种情况下,你应该使用类似CURL的东西来找到真实的图像。