0

我正在尝试使用以下代码将编辑后的 ​​UIscrollView 保存到 UIImage 中。但我在视图中看到的并不是我保存的。它以某种方式被保存的照片侧面的空白灰色条所抵消。我的 UIscrollView 没有触及视图的框架。有人知道该怎么做吗?如果我必须使用“theScrollView.layer”来渲染它。放大照片后,照片会变差。

CGSize photoSize = theScrollView.bounds.size;
UIGraphicsBeginImageContext(photoSize);
CGContextRef context = UIGraphicsGetCurrentContext();
CALayer *layer = self.view.layer;
[layer renderInContext:context];
UIImage *someImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(someImage,nil, nil, nil);
4

1 回答 1

0

替换CGContextRef context = UIGraphicsGetCurrentContext();

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) UIGraphicsBeginImageContextWithOptions(self.PostView.bounds.size, NO, [UIScreen mainScreen].scale); else UIGraphicsBeginImageContext(self.PostView.bounds.size);

如果您从 Retina Display 捕获,这可能会有所帮助。

  • 如果您需要截取 uiscrollview 的屏幕截图,请将“self.view.layer”替换为“yourscrollview.layer”

祝你好运

于 2012-07-29T13:11:10.997 回答