你可以将 PNG 保存到 iOS5 中的照片库吗?

Posted

技术标签:

【中文标题】你可以将 PNG 保存到 iOS5 中的照片库吗?【英文标题】:Can you save PNG's to the photo library in iOS5? 【发布时间】:2011-11-24 23:10:07 【问题描述】:

我注意到,使用此代码保存时,我正在制作的绘图应用程序中的线条图质量非常低:

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

据我了解,使用 UIImageWriteToSavedPhotosAlbum 时无法设置 JPG 质量。

有没有办法将 UIImage 以 PNG 格式直接保存到照片库中,或者有什么方法可以提高 JPG 的质量?截屏时(在 iPad 上按下开/关+home键)抓拍的图片质量是完美的,但我不能指望人们会以这种方式保存图片。

非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

试试这个

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

【讨论】:

非常感谢!这很好用,图像比压缩的 JPG 保存得更快,并且没有伪影。图像以透明方式保存,在 iPad 上查看时会出现黑色背景。在编写 PNG 之前,我必须弄清楚如何包含白色背景。 这可行,但不是很优雅:drawImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"white_background.png"]]; 是否可以以编程方式关闭 PNG 写入的透明度?

以上是关于你可以将 PNG 保存到 iOS5 中的照片库吗?的主要内容,如果未能解决你的问题,请参考以下文章

UIImagePickerController 相机未将照片保存在照片库中

iOS 将照片保存在特定应用的相册中

有啥方法可以将 Kivy 相机照片保存为 base64 而不将其导出为 png?

如何快速将几张图像作为一张图像保存到照片库?

怎样将png图片32位深改为24位深?谢谢

苹果怎么把壁纸保存到相册