[英]Detect if UIImage not contain an image
我正在尝试检测某些UIImage是否为空或包含图像。 所有的UIImage都有一个实例,所以我不能问image == nil
。 我也尝试了这段代码:
CGImageRef cgref = [image CGImage];
CIImage *cim = [image CIImage];
if (cim == nil && cgref == NULL)
{
NSLog(@"no underlying data");
}
但是它对我不起作用。 我还尝试将图像转换为NSData并检查字节的大小,但“空”图像大小已接近良好的大小。
顺便说一句-所有UIImage的大小都相同(宽度和高度)。
还有其他想法吗?
VS
- (NSString *)contentTypeForImageData:(NSData *)data
{
uint8_t c;
[data getBytes:&c length:1];
switch (c) {
case 0xFF:
return @"image/jpeg";
case 0x89:
return @"image/png";
case 0x47:
return @"image/gif";
case 0x49:
case 0x4D:
return @"image/tiff";
}
return nil;
}
并将您的图像转换为nsdata并测试:
NSData *imageData = //convert your image to NSData
if([self contentTypeForImageData:imageData] == nil) {
NSLog(@"no underlying imageView");
} else {
NSLog(@"underlying imageView");
}
希望对您有帮助。
尝试使用CGImageGetAlphaInfo()
并检查值是否为kCGImageAlphaOnly
实际上,这只是一个想法。 我目前无法自己检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.