0
我有一種方法可以獲取UIImage上的特定像素,但似乎並沒有如此出色。顏色看起來不正確。任何人都可以確定原因在UIImage上獲取像素
+ (UIColor *)colorAtPixelX:(int)x Y:(int)y image:(UIImage *)img{
CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(img.CGImage));
const UInt8* data = CFDataGetBytePtr(pixelData);
int pixelInfo = ((img.size.width * y) + x) * 4;
UInt8 red = data[pixelInfo];
UInt8 green = data[(pixelInfo + 1)];
UInt8 blue = data[pixelInfo + 2];
UInt8 alpha = data[pixelInfo + 3];
CFRelease(pixelData);
UIColor *col = [UIColor colorWithRed:(red/255.0f) green:(green/255.0f) blue:(blue/255.0f) alpha:(alpha/255.0f)];
return col;
}