旋转下载 (image.png) before/after 保存?

Rotate downloaded (image.png) before/after saving?

我正在尝试旋转下载的 PNG 格式图像,4:3 比例为横向。

我需要将图像旋转 90 度,使其成为具有相同尺寸的纵向图像。

我尝试了 .transform 函数,该函数开始时有效,但在添加带有大量设置的 scrollView 以允许其缩放和平移后不再有效,我不想继续编辑 srollView 内容因为需要很长时间才能使所有约束正常工作以允许自由缩放和平移。

下载图片后,我将其保存到应用程序文件中。然后加载到另一个函数中显示。

是否可以在保存时旋转下载的文件以便以正确的方式检索?

我在另一个 post 中找到了这个,我相信它可以与下载的图像一起使用,我怎样才能根据需要更改方向?

func normalizedImage() -> UIImage 

{

  if (self.imageOrientation == UIImageOrientation.Up) { 
      return self;
  }

  UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale);
  let rect = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height)
  self.drawInRect(rect)

  let normalizedImage : UIImage = UIGraphicsGetImageFromCurrentImageContext()
  UIGraphicsEndImageContext();
  return normalizedImage;
}

如果您在图像视图中显示 UIImage,您可以尝试修改方向。 它与 UIImage 基本相同,但带有一个标志,由 UIImageView 解释以旋转图像显示。

let rotated = UIImage(cgImage: image.cgImage!, scale: 1, orientation: .right)

如果您真的想将新图像保存到磁盘,您实际上需要重新绘制图像。此处已提供一些信息:How to Rotate a UIImage 90 degrees?