Я пытаюсь создать CGImage из NSTextField.
У меня был некоторый успех в этом. Тем не менее я не могу получить CGImage, состоящий только из текста. Я хочу сказать, что каждый раз, захватив текстовое поле я получаю цвет фона окна вместе с ним. (Похоже, я не получаю информацию об альфа-канале)Извлечение CGImage из NSView
Я попробовал следующий фрагмент из http://www.cocoadev.com/index.pl?ConvertNSImageToCGImage
NSBitmapImageRep * bm = [NSBitmapImageRep alloc];
[theView lockFocus];
[bitmap initWithFocusedViewRect:[theView bounds]];
[theView unlockFocus]
[bma retain];// data provider will release this
int rowBytes, width, height;
rowBytes = [bm bytesPerRow];
width = [bm pixelsWide];
height = [bm pixelsHigh];
CGDataProviderRef provider = CGDataProviderCreateWithData(bm, [bm bitmapData], rowBytes * height, BitmapReleaseCallback);
CGColorSpaceRef colorspace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
CGBitmapInfo bitsInfo = kCGImageAlphaPremultipliedLast;
CGImageRef img = CGImageCreate(width, height, 8, 32, rowBytes, colorspace, bitsInfo, provider, NULL, NO, kCGRenderingIntentDefault);
CGDataProviderRelease(provider);
CGColorSpaceRelease(colorspace);
return img;
Любая помощь для получения CGImage без цвета фона?
На самом деле, я собираюсь генерировать текстуры из CGImage. В любом случае спасибо за твое солн, я скоро вернусь. – shakthi
Все в порядке. Все вышеперечисленные методы создают NSImage или NSBitmapImageRep, из которых вы можете создать CGImage. – kperryua
Его работая отлично, спасибо. – shakthi