2010-07-04 32 views
0

長話短說,第二的每60 我有RGBA數據的相對小的緩衝器(256x240)(每分量8個比特,每像素4個字節),該刷新用新數據,我想以顯示它(我猜想在NSView內,但任何東西都是值得歡迎的)。最簡單的方法是什麼?從CGBitmapContext構建CGImageRef將其寫入到從NSGraphicsContext獲得的CGContextRef似乎有點令人費解。在Mac OS X上將RGBA數據繪製到視圖中最直接的方式是什麼?

回答

1

從CGBitmapContext構建CGImageRef將其寫入從NSGraphicsContext獲取的CGContextRef看起來有些複雜。

它是。具體來說,「位」是CGBitmapContext;如果您已經有柵格數據從中創建圖像,則不需要這樣做。只是create the image,然後繪製成從當前獲取到NSGraphicsContext得到了CGContext上。

+0

好了,CGBitmapContext位獲得由CGDataProvider位取代。我認爲它更有效率,但它並不真的保存任何代碼行。 – zneak 2010-07-06 20:32:16

+0

只有一行代碼可以從您已有的數據中創建數據提供者。對於NS/CFData對象:http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CGDataProvider/Reference/reference.html#//apple_ref/doc/c_ref/CGDataProviderCreateWithCFData對於裸數據緩衝器:HTTP: //developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CGDataProvider/Reference/reference.html#//apple_ref/doc/c_ref/CGDataProviderCreateWithData – 2010-07-06 20:56:47

相關問題