【问题标题】:How can i pass both x and y axis along with height and width of Screen to take screenshot programmatically in swift我如何同时传递 x 和 y 轴以及屏幕的高度和宽度以快速以编程方式截取屏幕截图
【发布时间】:2019-10-03 01:41:19
【问题描述】:

我在 ImageView 上添加了 UIImageView,所以我想截取这两个 imageview 的屏幕截图,以便它们看起来像一个,任何其他建议也很感激。

我做了一个按钮来帮助我截屏,我添加了 x 轴和 y 轴,

func takeScreenshot(_ shouldSave: Bool = true) -> UIImage {
    var screenshotImage :UIImage?
    let layer = UIApplication.shared.keyWindow!.layer
    let scale = UIScreen.main.scale
    UIGraphicsBeginImageContextWithOptions(CGSize(width: 20, height: 104), false, scale);
    guard let context = UIGraphicsGetCurrentContext() else {return screenshotImage ?? UIImage(imageLiteralResourceName: "loading")}
    layer.render(in:context)
    screenshotImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    if let image = screenshotImage, shouldSave {
        UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
    }
    return screenshotImage ?? UIImage(named: "loading")!
}

我希望截取的屏幕截图会截取 imageview 的屏幕截图。截图附上,enter image description here

【问题讨论】:

  • 尝试在以后的问题中使用代码块,因为它更容易阅读。

标签: ios swift imageview customization mobile-development


【解决方案1】:

将这两个图像视图放在一个 UIView 中,正确地约束它们。然后对该 UIView 进行截图。按照这个截图: How to take screenshot of a UIView in swift?

【讨论】:

    【解决方案2】:

    我相信你想说

    您有 2 个具有不同图像的 UIImageView,然后您想截取这 2 个 UIImageView 的屏幕截图以制作 1 个图像。

    如果是这种情况,最简单的解决方法是将这 2 个 UIImageView 包装在一个 UIView 中。然后将该 UIView 转换为 UIImage。因此,您可以将这 2 个 UIImageView 的屏幕截图合二为一。

    如果您需要代码将 UIView 转换为 UIImage:

    extension UIView {
        func toImage() -> UIImage {
            let renderer = UIGraphicsImageRenderer(bounds: bounds)
            return renderer.image { rendererContext in
                layer.render(in: rendererContext.cgContext)
            }
        }
    }
    

    我不确定这是否能解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 2018-09-28
      • 1970-01-01
      • 2014-04-17
      相关资源
      最近更新 更多