将两个imageViews合并为一个并保存iOS swift

Posted

技术标签:

【中文标题】将两个imageViews合并为一个并保存iOS swift【英文标题】:Merge two imageViews into one and save iOS swift 【发布时间】:2015-07-28 08:11:25 【问题描述】:

我有 2 个如下所示的图像视图。 (ScrollView 有 imageView 的子视图)

我想把每一个的图像都合并到一个。

我尝试使用截屏和裁剪。但是当涉及到不同的 iphone 屏幕尺寸和分辨率时,它就不能正常工作了。

谁能指导我如何做到这一点?

【问题讨论】:

【参考方案1】:

为什么不将它们都添加到一个 UIView 中呢?

还可以在图像视图中添加子视图并扩展框架。

[secondImageView setFrame:CGRectMake(x,y + newImageHeight,width,height)];
[self.myImageView setFrame:CGRectMake(x,y,width,height + newImageHeight)];
[self.myImageView addSubview:secondImageView];

【讨论】:

【参考方案2】:

我认为你的方法是对的,你也可以很容易地用这个方法解决规模大小的问题。

func mergeScreenshot() 
    let layer = UIApplication.sharedApplication().keyWindow.layer
    let scale = UIScreen.mainScreen().scale
    UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale); // reconsider size property for your screenshot

    layer.renderInContext(UIGraphicsGetCurrentContext())
    let screenshot = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)

但是您应该再次编辑尺寸。例如,如果您使用自动布局,则可以创建 IBOutlet 并使用它来代替我使用的 layer.frame.size 属性。

希望对您有所帮助。

【讨论】:

以上是关于将两个imageViews合并为一个并保存iOS swift的主要内容,如果未能解决你的问题,请参考以下文章