有没有办法检查UIImage是否只包含单一颜色?我有一个渲染文本到图像的应用程序,如果返回的图像完全是白色的,我就不想重新绘制屏幕。
有什么方法可以实现这个功能吗?
谢谢, EZFrag
有没有办法检查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;
}