簡體   English   中英

檢測UIImage是否不包含圖像

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM