[英]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.