0

我正在使用如下代码将当前屏幕保存到照片库:

UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* result = UIGraphicsGetImageFromCurrentImageContext();     
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(result, nil,nil, nil);

这可行,但质量看起来很像压缩的 JPG(并且保存的文件名采用标准 IMG_XXXX.JPG 格式),即使此代码中没有指定图像类型或其质量。有没有办法控制质量?即我可以将它保存为未压缩的 PNG 吗?

4

1 回答 1

2

UIImagePNGRepresentation()您可以使用 for 的方法将其保存为 PNG NSData,执行以下操作:

....
UIImage* result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData* data =  UIImagePNGRepresentation ( result );
UIImage* pngImage = [UIImage imageWithData:data];
UIImageWriteToSavedPhotosAlbum(pngImage, nil, nil, nil);

希望这可以帮助。

于 2012-06-13T05:50:00.727 回答