你可以将 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 相机未将照片保存在照片库中