gpt4 book ai didi

ios - 如何给UIImage的透明部分填充颜色?

转载 作者:行者123 更新时间:2023-11-29 00:36:37 24 4
gpt4 key购买 nike

我有一个带有透明区域和背景的 PNG 图像。

enter image description here

我想将它用作我的 SKSpriteNode 的 SKTexture,但在此之前它应该用一些 UIColor 着色。

我正在努力实现这一目标

func colorImage(origImage: UIImage, color: UIColor) -> UIImage {
UIGraphicsBeginImageContextWithOptions(origImage.size, true, 0)
let context = UIGraphicsGetCurrentContext()
context?.setFillColor(color.cgColor)
context?.fill(CGRect(origin: CGPoint(x: 0, y: 0), size: origImage.size))
let flipVertical = CGAffineTransform.init(a: 1, b: 0, c: 0, d: -1, tx: 0, ty: origImage.size.height)
context?.concatenate(flipVertical)
context?.draw(origImage.cgImage!, in: CGRect(origin: CGPoint(x: 0, y: 0), size: origImage.size))
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}

但它也为背景着色:(

enter image description here

我怎样才能只给云上色?

感谢任何帮助!

最佳答案

为此最好只使用云纹理,然后颜色混合你的 SKSpriteNode。

https://developer.apple.com/reference/spritekit/skspritenode/1519639-color

请注意,您还需要设置 colorBlendFactor。默认值为 0。

https://developer.apple.com/reference/spritekit/skspritenode/1519780-colorblendfactor

关于ios - 如何给UIImage的透明部分填充颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40455629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com