Как конвертировать текст с атрибутами непосредственно в CIImage (без рисования на экран)
Я хотел бы преобразовать текст с атрибутами (т. Е. Определенным шрифтом и размером) непосредственно в CIImage, то есть без предварительного рисования на экране, чтобы я мог использовать собственный CIF-фильтр для динамического изменения внешнего вида текста. Как я могу это сделать?
1 ответ
Решение
Вот как нарисовать NSAttributedString
на NSImage
, Я не проверял преобразование в CIImage
хотя (последняя строка), но это не должно быть слишком сложно:
let string = NSAttributedString(string: "Hello World!", attributes: [NSFontAttributeName: NSFont.labelFontOfSize(10)])
let image = NSImage(size: string.size())
image.lockFocus()
NSGraphicsContext.saveGraphicsState()
NSGraphicsContext.currentContext()!.shouldAntialias = true
string.drawAtPoint(NSZeroPoint)
NSGraphicsContext.restoreGraphicsState()
image.unlockFocus()
let ciimage = CIImage(data: image.TIFFRepresentation!)!