我想将 SKSpriteNode 转换为 UIImage。
let testImage = SKSpriteNode(imageNamed: "PlainProject") as! UIImage
但是我在上面的线程上崩溃了。还有其他方法可以做到这一点吗?
最佳答案
您应该先获取 Sprite texture
的cgImage
,然后将其转换为UIImage
:
let testImage = SKSpriteNode(imageNamed: "someImage.png")
let image = UIImage(cgImage: (testImage.texture?.cgImage())!)
或者更好的版本,无需强制解开可能为nil
的cgImage
:
let image = UIImage()
if testImage.texture?.cgImage() != nil{
image = UIImage(cgImage: (testImage.texture?.cgImage())!)
}
结果(在 Playground 上):
这正是我的图像的样子。希望这有帮助!
关于swift - 将 SKSpriteNode 转换为 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42175834/