iOS 判断图片类型

来源:互联网 发布:巨人网络股票估值多少 编辑:程序博客网 时间:2024/04/28 01:03

图片流的第一个字节来辨别

其实就是取出图片数据的第一个字节, 就可以判断出图片的真实类型那该怎么做呢如下:

//通过图片Data数据第一个字节 来获取图片扩展名- (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;}

其实图片数据的第一个字节是固定的,一种类型的图片第一个字节就是它的标识, 我们来调用一下这个方法:

 //假设这是一个网络获取的URL    NSString *path = @"http://pic.rpgsky.net/images/2016/07/26/3508cde5f0d29243c7d2ecbd6b9a30f1.png";    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]];    //调用获取图片扩展名    NSString *string = [self contentTypeForImageData:data];    //输出结果为 png    NSLog(@"%@",string);
0 0
原创粉丝点击