iOS常用方法——判断图片类型

直接用图片的后缀来判断图片的类型不一定准确,用下面的方法可以准确的判断出图片的类型。

+(NSString *)contentTypeForImageData:(NSData *)data{
    uint8_t c;
    [data getBytes:&c length:1];
    switch (c) {
        case 0xFF:
            return @"jpeg";
        case 0x89:
            return @"png";
        case 0x47:
            return @"gif";
        case 0x49:
        case 0x4D:
            return @"tiff";
        case 0x52:
            if ([data length] < 12) {
                return nil;
            }
            NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding];
            if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) {
                return @"webp";
            }
            return nil;
    }
    return nil;
}

将UIImage转换为NSData,然后调用上面的方法就可以获取到该图片是什么类型的图片了。

猜你喜欢

转载自blog.csdn.net/aaaaazq/article/details/80761826