zoukankan      html  css  js  c++  java
  • 判断图片格式

    //枚举定义图片类型

    {
        NSPUIImageType_JPEG,
        NSPUIImageType_PNG,
        NSPUIImageType_GIF,
        NSPUIImageType_Unknown
    };

    //定义方法

    static inline NSPUIImageType NSPUIImageTypeFromData(NSData *imageData) {
    
        if (imageData.length > 4) {
    
            const unsigned char * bytes = [imageData bytes];
    
            
    
            if (bytes[0] == 0xff &&
    
                bytes[1] == 0xd8 &&
    
                bytes[2] == 0xff)
    
            {
    
                return NSPUIImageType_JPEG;
    
            }
    
            
    
            if (bytes[0] == 0x89 &&
    
                bytes[1] == 0x50 &&
    
                bytes[2] == 0x4e &&
    
                bytes[3] == 0x47)
    
            {
    
                return NSPUIImageType_PNG;
    
            }
    
            
    
            if (bytes[0] == 0x47)
    
            {
    
                return NSPUIImageType_GIF;
    
            }
    
        }
    
        
    
        return NSPUIImageType_Unknown;
    
    }

    //调用

        NSURL *url = [NSURL URLWithString:@"http://g.hiphotos.baidu.com/image/pic/item/c2cec3fdfc03924578c6cfe18394a4c27c1e25e8.jpg"];
        NSData *data = [NSData dataWithContentsOfURL:url];
        //NSData *data = [NSData dataWithContentsOfFile:@"/Users/apple/Desktop/book_cover.png"];
    
        NSPUIImageType type = NSPUIImageTypeFromData(data);
        if (type == NSPUIImageType_JPEG) {
            NSLog(@"JPEG");
        }else if (type == NSPUIImageType_PNG) {
            NSLog(@"PNG");
        }else if (type == NSPUIImageType_PNG) {
            NSLog(@"GIF");
        }else {
            NSLog(@"Unknown");
        }

     

  • 相关阅读:
    能量项链
    开学前最后一天信奥赛一本通重刷日记
    重刷信奥赛一本通日记-3
    重刷信奥赛一本通日记-2
    重刷信奥赛一本通日记-1
    第二次考试题解way
    第一次考试题解
    第一次考试感言
    「HNOI2012」矿场搭建
    「HAOI2006」受欢迎的牛
  • 原文地址:https://www.cnblogs.com/pengyunjing/p/5993751.html
Copyright © 2011-2022 走看看