6

NSView オブジェクトの CGContextRef を取得する必要があります。方法がわかれば、それほど悪くはありません。

Carbon では、このことは次のように行われました。

CGContextRef cgref = (libvlc_drawable_t)GetWindowPort(HIViewGetWindow((OpaqueControlRef*)hiViewRef));

明らかに、NSView をサブクラス化 (またはそのサブクラス) し、drawRect でキャッチすることで実行できますが、それはあまりにも醜いです。

あなたのアイデアは?

4

1 に答える 1

9

私はそれを使用したことはありませんが、これはあなたのやり方だと思います:

[myView lockFocus];
imageContext = (CGContextRef)[[NSGraphicsContext currentContext]
                                     graphicsPort];
... 
[myView unlockFocus];

NSView の lockFocusIfCanDraw も見てください。

于 2009-07-16T18:28:22.513 に答える