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 回答