检测UIImage是否不包含图像

时间:2015-12-23 07:55:16

标签: ios objective-c uiimage

我正在尝试检测某些UIImage是否为空或包含图像。 所有UIImages都有一个实例,所以我不能问3ms 4ms 5ms 。 我也尝试了这段代码:

image == nil

但它不适合我。 我还试图将图像转换为NSData并检查字节的大小,但“空”图像大小接近好。

BTW - 所有UIImages的大小都相同(宽度和高度)。

还有其他想法吗?

enter image description here

  

VS

enter image description here

2 个答案:

答案 0 :(得分:1)

- (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");
}

我希望它会对你有所帮助。

答案 1 :(得分:0)

尝试使用CGImageGetAlphaInfo()并检查值是否为kCGImageAlphaOnly

实际上,它只是一个想法。我现在不能自己检查。