Firebreath插件在浏览器上绘制图像

时间:2014-09-27 11:55:23

标签: macos cocoa firebreath

我开发了一个在MAC OSX中使用FireBreath实现ImageViewer应用程序的插件,该图像位于本地文件系统中。我有以下代码片段: 帮助我实现 getDrawingPrimitive 功能。

 `FB::PluginWindowMac *wnd = dynamic_cast<FB::PluginWindowMac*>(win);
 wnd->getDrawingPrimitive();
 /* code related to openGL*/
 CALayer* layer = [CALayer new];
 [layer setContents:(id)[ImageHandler setImageWithURL:@"somePath.jpg"]];`

setContents接收类型(CGImageRef)的参数。 这是将图像设置为CALayer对象的正确方法吗?

1 个答案:

答案 0 :(得分:0)

调用 wnd-&gt; StartAutoInvalidate(sometimelapse); 根据所选的绘图模型和事件模型调用 onDraw 函数。获得类型为 CGContextRef 的窗口上下文。可以进一步使用该上下文来绘制所需的任何内容。为了绘制图像,图像将转换为CGImageRef,并使用 CGContextDrawImage 将图像绘制到上下文中。