好吧,标题是不言自明的。我已经彻底测试了这段代码,我发现代码在调用 getPixel 时会以某种方式重置“y”。你不应该这么想,因为该方法不需要指针,但不知何故,这就是正在发生的事情。如果我删除调用 getPixel 的代码行,代码就完成了,尽管显然没有产生任何有用的东西。如果有人能弄清楚这里发生了什么,我将不胜感激。(getPixel 在 NSBitmapImageRep 中,仅供参考)
NSInteger pixWide = theCAPTCHA.pixelsWide;
NSInteger pixHigh = theCAPTCHA.pixelsHigh;
for (NSInteger x = 0; x<pixWide;x++)
{
for (NSInteger y = 0; y<pixHigh;y++)
{
unsigned int thePixel[3];
[theCAPTCHA getPixel:(unsigned long *)thePixel atX:x y:y];
for (int i = 0; i<3; i++) {
theColors[i+(y*3)+(x*pixHigh)] = thePixel[i];
}
}
}