SKSpriteNodeをUIImageに変換したいと思います。SKSpriteNodeをUIImageにキャスト
let testImage = SKSpriteNode(imageNamed: "PlainProject") as! UIImage
しかし、上記のスレッドでクラッシュします。これを行う別の方法がありますか?
SKSpriteNodeをUIImageに変換したいと思います。SKSpriteNodeをUIImageにキャスト
let testImage = SKSpriteNode(imageNamed: "PlainProject") as! UIImage
しかし、上記のスレッドでクラッシュします。これを行う別の方法がありますか?
あなたが最初のスプライトのtexture
のcgImage
を取得し、その後UIImage
にキャストする必要があります
let testImage = SKSpriteNode(imageNamed: "someImage.png")
let image = UIImage(cgImage: (testImage.texture?.cgImage())!)
または強制的に巻き戻されないより優れたバージョンcgImage
nil
:
let image = UIImage()
if testImage.texture?.cgImage() != nil{
image = UIImage(cgImage: (testImage.texture?.cgImage())!)
}
結果(遊び場で):
私のイメージのように見える、まさにです。お役に立てれば!
それは本当にうまくいっています。私はテクスチャを使って作業していることがわかったので、イメージスケールで余分な作業が必要でしたが、今はすべて良いです。 –
ようこそ。さらなる質問がある場合は、質問してください –
これを直接行うことはできません。
まず、texture
をSKSpriteNode
から取得する必要があります。
textureOfNode!.cgImage()
で画像を得ることができます。その後
:
let testNode = SKSpriteNode(imageNamed: "Spaceship")
let textureOfNode = testNode.texture
let imageFromTexture = UIImage.init(cgImage: textureOfNode!.cgImage())
print(imageFromTexture) //<UIImage: 0x61000008afa0>, {394, 347}
またいい回答です!ありがとう –
あなたを助けるために幸せ.. :) –
回答を確認して回答してください –