Is there any way to draw Webbrowser content to a specific DC?
These days, I tries to create a hiden WebBrowser control in my program, and Using the IViewObject interface draw to my custom DC.
The result is fine, I got All the content I want, but the Draw speed is unacceptable, especially some complex web pages which contains Flash objects, Each Draw to DC cost more than 100 ms. So the flash object I drew is not smooth.
Is there a fast way to draw the control to my a specific DC?
my code sinpet is like this:
//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);
Thank you for reading this question.
Waiting for your answers~
There is no other way to do this. None of the components you're using--IE, Flash, etc--were designed to be used this way. If draw time is an issue, you have to do it on a separate thread and synchronize.
Try this: 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);
精彩评论