如何裁剪并将UIScrollView中显示的UIImageView部分保存到UIImage变量?

时间:2017-07-11 23:52:57

标签: ios swift uiscrollview uiimageview uiimage

enter image description here

在显示的图片中,方块显示import io if not os.path.exists(save_path): os.makedirs(save_path) class HtmlFilePipeline(object): def process_item(self, item, spider): page = item['url'].split('/')[-1] filename = '%s.html' % page file = io.StringIO() file.write(item['html']) self.UploadtoS3(filename, file) def UploadtoS3(self, filename, file): # here instead of reading the file to upload to S3, use the file passed to the method ,显示UIScrollView。在这种情况下,用户可以平移和捏合以放大或缩小图像。

  1. 当用户完成平移并捏合到所需的方格时,如何裁剪并将仅显示在UIImageView内的结果内容保存到UIScrollView并保存?忽略其余的图像内容

  2. UIImage加载到UIImageView如何限制肖像图像,使图像宽度与scrollview的宽度相匹配?或者在横向模式下,图像的高度与scrollview的高度匹配,但永远不能在UIScrollView中显示任何空格?

  3. 我对第二部分问题的尝试如下: 实施了UIScrollView代表

    UIScrollViewDelegate

1 个答案:

答案 0 :(得分:0)

这是未经测试的,但是通过从完整UIView创建图像进行重构,这完全可以正常工作。

我认为既然您知道UIScrollView的内容矩形,我基本上添加了整个视图。如果它需要调整CGRect值,请告诉我,我会更新此内容。

func createImage(_ rect: CGRect, fromView:UIView) -> UIImage {

    UIGraphicsBeginImageContextWithOptions(CGSize(width: rect.width, height: rect.height), true, 1)
    fromView.layer.render(in: UIGraphicsGetCurrentContext()!)
    image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return image
}