我可以将UIView的内容作为图像保存到库中。
我试图保存的图像在应用程序上的分辨率非常高,但将其保存到照片库会显着降低分辨率。我想要保存的图像与屏幕宽度相同,但屏幕高度却是很多倍。
我保存的图像看起来像我想要的应用程序中的UIScrollView,但它保存的图像的分辨率低于实际图像。我怎么能阻止它这样做?
先谢谢了:D
编辑:添加代码......
- (void) saveImageToLibrary
{
UIImage* image;// = nil;
UIGraphicsBeginImageContext(scrollview.contentSize);
{
CGPoint savedContentOffset = scrollview.contentOffset;
CGRect savedFrame = scrollview.frame;
scrollview.contentOffset = CGPointZero;
scrollview.frame = CGRectMake(0, 0, scrollview.contentSize.width, scrollview.contentSize.height);
self.view.frame = CGRectMake(0, 0, scrollview.contentSize.width, scrollview.contentSize.height);
[scrollview.layer renderInContext: UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();
scrollview.contentOffset = savedContentOffset;
scrollview.frame = savedFrame;
self.view.frame = savedFrame;
}
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image, nil,nil,nil);
}
我希望这会有所帮助。
答案 0 :(得分:0)
尝试创建图像时是否设置了正确的比例?你可以发布代码吗?
答案 1 :(得分:0)
请改用:
UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, scrollView.opaque, [[UIScreen mainScreen] scale]);
修改强>
您也可以尝试将比例设置为零:
UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, scrollView.opaque, 0.0);
这对你有帮助吗?
答案 2 :(得分:0)
好人和goyals ......我想我已经找到了问题。
问题是iPhone模拟器。根据您要求的硬件,图像将针对求和器的分辨率进行优化。
我不完全相信这是因为我之前正在模拟iPhone 5(有视网膜显示),但模拟iphone 6似乎工作正常。
如果您想要了解更多详细信息,或者您想要添加到此主题,请点击此链接:D
https://stackoverflow.com/questions/8032528/uiimage-image-loaded-from-appbundle-is-saved-at-lower-resolution-in-app-direct