是否有一种方法可以检查UIImage是否包含单一颜色?我有一个将文本呈现给图像的应用程序,如果返回的图像是完全白色的,我不想重新绘制屏幕。
有办法做到这一点吗?
问候,EZFrag
这样做可能会奏效
- (BOOL)imageIsWhite:(UIImage *)img {
CGImageRef imageRef = img.CGImage;
NSData *data = (NSData *) CGDataProviderCopyData(CGImageGetDataProvider(imageRef));
unsigned char *pixels = (unsigned char *)[data bytes];
BOOL isWhite = YES;
for(int i = 0; i < [data length]; i += 4) {
if (!(pixels[i] == pixels[i+1] == pixels[i+2] == 255)) {
isWhite = NO;
break;
}
}
return isWhite;
}