如何保存图形游乐场结果的图像?

时间:2018-01-28 12:32:58

标签: xcode swift-playground

我试图将操作结果保存为图像预览。我知道我可以制作截图,但截图的质量太低了。我尝试了一些解决方案,但没有一个有效。

其中一个我尝试过但没有奏效的是:

  

1.单击游乐场结果视图中的预览图像以显示带有图像或SpriteKit场景的弹出窗口。

     

2.在"文件"菜单,选择"导出结果图像..."并选择要保存图像的文件。

感谢您的贡献。

1 个答案:

答案 0 :(得分:1)

在代码中有一种方法。

首先,你必须创建一个目录

~/Documents/Shared Playground Data/

转到Documents并创建名为Shared Playground Data的新文件夹。

之后创建此扩展程序,将UIView转换为UIImage

public extension UIImage {
    convenience init(view: UIView) {
        UIGraphicsBeginImageContext(view.frame.size)
        view.layer.render(in:UIGraphicsGetCurrentContext()!)
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        self.init(cgImage: image!.cgImage!)
    }
}

然后,您需要创建要保存的图像的路径,然后选择playground view。但首先要确保导入PlaygroundSupport

let myPath = playgroundSharedDataDirectory.appendingPathComponent("export.png") //You set path of image (you can change name of image, from export.png to anythingElse.png or .jpg).

let thisImage = UIImage(view: playgroundView) //Here you convert View to Image
let data = UIImageJPEGRepresentation(thisImage, 1.0)
try data?.write(to: myPath)

运行Playground之后,只需转到~/Documents/Shared Playground Data/,即可找到您的图片export.png