现在,我尝试在程序中创建一个hiden WebBrowser控件,并使用IViewObject接口绘制到我的自定义DC。
结果很好,我得到了我想要的所有内容,但是绘制速度是不可接受的,尤其是一些包含Flash对象的复杂网页,每个Draw to DC花费超过100毫秒。所以我画的flash对象并不流畅。
是否有快速方法将控件绘制到我的特定DC?
我的代码sinpet是这样的:
//hCompDc is a CompatibleDC which select a CompatibleBitmap.
RECTL imageRect = {0, 0, nWidth, nHeight};
pHtmlDocument2->QueryInterface(IID_IViewObject, (void **)&pViewObject);
pViewObject->Draw(DVASPECT_CONTENT, -1, NULL, NULL, NULL, hCompDc, NULL, &imageRect, NULL, 0);
感谢您阅读此问题。
等待你的回答〜
答案 0 :(得分:1)
没有其他办法可以做到这一点。您使用的所有组件 - IE,Flash等 - 都不是以这种方式使用的。如果绘制时间是个问题,则必须在单独的线程上进行并同步。
答案 1 :(得分:0)
试试这个: http://sourceforge.net/projects/wke/
char* buffer = new char[800*600*4];
IWebVeiw* webView = wkeCreateWebView("");
webView->resize(800, 600);
webView->loadURL("www.google.com");
webView->paint(buffer, 0);
wkeDestroyWebView(webView);