我正在使用以下代码将当前屏幕保存到照片库:
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(result, nil,nil, nil);
这很有效,但质量看起来很像压缩的JPG(保存的文件名是标准的IMG_XXXX.JPG格式),即使此代码中没有指定图像的类型或质量。有没有办法控制质量?即我可以将它保存为未压缩的PNG吗?
答案 0 :(得分:2)
您可以使用UIImagePNGRepresentation()
NSData
方法将其另存为PNG,请执行以下操作:
....
UIImage* result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData* data = UIImagePNGRepresentation ( result );
UIImage* pngImage = [UIImage imageWithData:data];
UIImageWriteToSavedPhotosAlbum(pngImage, nil, nil, nil);
希望这有帮助。