У меня проблема с получением объекта UIImage из SKSpriteNode, т.е. я могу его получить, но после изменения свойств SKSpriteNode, таких как blendMode, colorBlendFactor и color, свойство текстуры остается неизменным.Вот пример:
let sprite = SKSpriteNode(imageNamed: "fishka")
sprite.blendMode = .alpha
sprite.colorBlendFactor = 1
sprite.color = UIColor.red
let fishka = UIImage(cgImage: (sprite.texture?.cgImage())!)
вот что я получаю:
результат после преобразования в UIImage (fishka) и изображение в объекте SKSpriteNode (спрайт)
пожалуйста, как я могу получить объект UIImage с изображением, как в SKSpriteNode?
спасибо
ОБНОВЛЕНИЕ
вот еще один код, который используетCGContext для получения желаемого результата
let img = UIImage(named: "fishka")!
let rect = CGRect(x: 0, y: 0, width: img.size.width, height: img.size.height)
UIGraphicsBeginImageContext(rect.size)
let ctx = UIGraphicsGetCurrentContext()
img.draw(in: rect)
ctx?.setFillColor(UIColor.red.cgColor)
ctx?.setAlpha(1)
ctx?.setBlendMode(.sourceAtop)
ctx?.fill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
и теперь изображение выглядит как this
настройка ctx? .SetAlpha () не является решением, потому чтоя хочу ярко-красный цвет, сохраняющий объем вид
есть ли другое решение?
спасибо * 2