2011-04-02 106 views
0

我有一個NSAttributedString,我想繪製成一個CGImage,以便以後可以將CGImage繪製成一個NSView。這是我到目前爲止有:如何從NSAttributedString創建剪貼蒙版?

// 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:背景:提示]因爲我的應用程序必須使用10.5 SDK。

當我使用CGContextDrawImage將其繪製到我的NSView中時,它會在文本週圍繪製一個透明背景,從而導致窗口後面的任何內容顯示。我想我想創建一個剪貼蒙版,但我無法弄清楚如何做到這一點。

回答