欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断图片是PNG还是JPEG

程序员文章站 2024-02-19 08:36:06
...

// We need to determine if the image is a PNG or a JPEG
// PNGs are easier to detect because they have a unique signature (http://www.w3.org/TR/PNG-Structure.html)
// The first eight bytes of a PNG file always contain the following (decimal) values:
// 137 80 78 71 13 10 26 10

            // We assume the image is PNG, in case the imageData is nil (i.e. if trying to save a UIImage directly),
            // we will consider it PNG to avoid loosing the transparency
            BOOL imageIsPng = YES;

            // But if we have an image data, we will look at the preffix
            if ([imageData length] >= [kPNGSignatureData length]) {
                imageIsPng = ImageDataHasPNGPreffix(imageData);
            }

            if (imageIsPng) {
                data = UIImagePNGRepresentation(image);
            }
            else {
                data = UIImageJPEGRepresentation(image, (CGFloat)1.0);
            }
相关标签: 来自SDWebImage