У меня есть NSAttributedString, которую я хотел бы нарисовать в CGImage, чтобы позже я мог нарисовать CGImage в NSView.Вот что у меня есть:
// Draw attributed string into NSImage
NSImage* cacheImage = [[NSImage alloc] initWithSize:NSMakeSize(w, h)];
[cacheImage lockFocus];
[attributedString drawWithRect:NSMakeRect(0, 0, width, height) options:0];
[cacheImage unlockFocus];
// Convert NSImage to CGImageRef
CGImageSourceRef source = CGImageSourceCreateWithData(
(CFDataRef)[cacheImage TIFFRepresentation], NULL);
CGImageRef img = CGImageSourceCreateImageAtIndex(source, 0, NULL);
Я не использую - [NSImage CGImageForProposedRect: context: hints], потому что мое приложение должно использовать SDK 10,5.Мой NSView, использующий CGContextDrawImage, рисует прозрачный фон вокруг текста, заставляя все, что находится за окном, просвечивать.Я думаю, что хочу создать обтравочную маску, но я не могу понять, как это сделать.