2011-11-24 45 views
3

我已经注意到从图形应用程序,我正在做这行图纸时,使用此代码保存质量非常低:您可以将PNG保存到iOS5的照片库吗?

UIImage *imageToSave = drawImage.image; 
UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil); 

至于我能理解,你不能设置JPG质量时,使用UIImageWriteToSavedPhotosAlbum。

有没有办法将UIImage作为PNG直接保存到照片库,或者某种方式来提高JPG质量?在做屏幕截图时(在iPad上按住/关闭+主页),抓取图片的质量是完美的,但我不希望人们以这种方式保存图像。

任何帮助非常感谢!

回答

6

试试这个

NSData* pngdata = UIImagePNGRepresentation (drawImage.image); //PNG wrap 
UIImage* img = [UIImage imageWithData:pngdata]; 
UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil); 
+1

巨大的感谢!这效果很好,图像保存速度比压缩JPG更快,并且无伪影。图像以透明的方式保存,在iPad上观看时会产生黑色背景。在编写PNG之前,我必须弄清楚如何包含白色背景。 – machineboy

+0

这有效,但不是很优雅:'drawImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@“white_background.png”]];'是否可以编程方式关闭PNG写入的透明度? – machineboy