0

我正在尝试将一个转换UIView为一个UIImage以保存到相册中。

到目前为止,我已经能够得到这个,但生成的图像是基于UIView屏幕上的布局。(例如:纵向或横向)

我的目标是无论UIView是纵向还是横向都具有相同的输出(例如:Square)。

这是我正在使用的当前代码(我尝试了很多不同的方法)

extension UIView {
    func image() -> UIImage {
        let imageRenderer = UIGraphicsImageRenderer(bounds: bounds)
        if let format = imageRenderer.format as? UIGraphicsImageRendererFormat {
          format.opaque = true
        }
        let image = imageRenderer.image { context in
            return layer.render(in: context.cgContext)
        }
        return image
    }
}

我可以将UIImage尺寸更改为所需的尺寸,但UIView仍然遵循屏幕上的原始布局。

  let f = ergTrainChartView.frame;      //Grab current
  ergTrainChartView.frame = CGRect(x: f.origin.x, y: f.origin.y, width: 365, height: 365)

在此处输入图像描述

无论设备处于纵向还是横向(iPad 或 iPhone)模式,我的目标都是获得左侧图像。

谢谢。

4

0 回答 0