如何知道这个图像是jpg或png iphone

Des*_*ond 5 iphone xcode uiimagejpegrepresentation ios uiimagepngrepresentation

我想从UIImagepicker中选择一个图像,在相机胶卷中有PNG和JPG格式.

我需要将其转换为NSData.不过,我需要知道这是图像UIImageJPEGRepresentation还是UIImagePNGRepresentation,所以我可以将其转换.

UIImage *orginalImage = [info objectForKey:UIImagePickerControllerOriginalImage];    
    [picker dismissViewControllerAnimated:YES completion:nil];
    NSData *orgData = UIImagePNGRepresentation(orginalImage);
Run Code Online (Sandbox Code Playgroud)

Per*_*ion 11

您不应该知道或关心相机胶卷中图像的内部表示.你提到的方法UIImageJPEGRepresentationUIImagePNGRepresentation返回你表示相机胶卷图像的.您可以选择要使用的表示形式.

总结一下:

NSData * pngData = UIImagePNGRepresentation(originalImage);
Run Code Online (Sandbox Code Playgroud)

将返回NSData对象中的图像表示,格式为PNG.

  • 有时您需要关心,因为如果您从jpeg图像制作UIImageJPEGRepresentation,您可能会压缩不必要的已经压缩的图像(丢失质量和处理时间).例如,您可能需要通过仅接受jpeg的库进一步处理所选图像. (6认同)