Objective c 目标C:检查UIImage是否填充了单一颜色
有没有办法检查UIImage是否包含单一颜色?我有一个将文本渲染到图像的应用程序,如果返回的图像是完全白色的,我不想重新绘制屏幕 有没有办法做到这一点 问候,,Objective c 目标C:检查UIImage是否填充了单一颜色,objective-c,image,Objective C,Image,有没有办法检查UIImage是否包含单一颜色?我有一个将文本渲染到图像的应用程序,如果返回的图像是完全白色的,我不想重新绘制屏幕 有没有办法做到这一点 问候,, EZFrag像这样的东西可能会奏效 - (BOOL)imageIsWhite:(UIImage *)img { CGImageRef imageRef = img.CGImage; NSData *data = (NSData *) CGDataProviderCopyData(CGImageGetDataProvider(im
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;
}
-(BOOL)图像为白色:(UIImage*)img{
CGImageRef imageRef=img.CGImage;
NSData*数据=(NSData*)CGDataProviderCopyData(CGImageGetDataProvider(imageRef));
无符号字符*像素=(无符号字符*)[数据字节];
BOOL isWhite=是;
对于(int i=0;i<[数据长度];i+=4){
if(!(像素[i]==像素[i+1]==像素[i+2]==255)){
isWhite=否;
打破
}
}
返回为白色;
}
还有其他解决方案吗。嗯,如果你像这样检查每一个像素,它是非常昂贵的