怎样用opencv的IplImage初始化GacUI的GuiImageFrameElement

GuiImageFrameElement是比较消耗资源的,主要是图像处理用的是Windows Imaging Component,但是绘制却需要留一个Direct2D/GDI的资源来提速。如果你需要实时更新的话,我建议你使用GuiDirect2DElement/GuiGDIElement,在回掉函数里面直接把你的东西画上去。要注意的是坐标系统是窗口坐标,不是element的坐标,因为我直接把后台的render target暴露出来了。SetupWindowsDirect2DRenderer函数跟GuiDirect2DElement是配对的,使用DirectX来渲染却强行使用GuiGDIElement就会遇到我事先准备好的assert。如果你的图片偶尔才变化,所以图方便一定要用INativeImage来初始化GuiImageFrameElement的话,那你要用GetCurrentController()-\u0026gt;ImageService()-\u0026gt;CreateImageFromMemory,在内存里面准备一个跟保存成文件之后内容一模一样的二进制数据(这样就不用写硬盘调用CreateImageFromFile了)。至于怎么生成这个肯定到处都是教程。不得不指出一个错误是,所有的GUI类型都必须new出来,好好配合我的这个设计就可以享受“除了GuiWindow以外其他的都不用管怎么释放”的福利,所以GuiImageFrameElement这样用是不对的。你可以参考我其他地方的代码。


    推荐阅读