[VC] 通过IHTMLDocument2-DC把网页保存为图片

废话不多说直接上代码:

HBITMAP CreateImage(IHTMLDocument2 *pDoc)
{
	IHTMLElement	   *pElement = (IHTMLElement *)NULL;
	IHTMLElementRender *pRender = (IHTMLElementRender *)NULL;
	if (pDoc == (IHTMLDocument2 *)NULL)
		return NULL;
	pDoc->get_body(&pElement);
	if (pElement == (IHTMLElement *)NULL)
		return NULL;
	pElement->QueryInterface(IID_IHTMLElementRender, (void **)&pRender);
	if (pRender == (IHTMLElementRender *)NULL)
		return NULL;
	///获取高度宽度
	long width = 1024;
	long height = 768;
	pElement->get_offsetHeight(&height);
	pElement->get_offsetWidth(&width);
	//获取IHTMLElementRender
	//渲染到DC中
	HDC src = GetDC(NULL);
	HDC dc = CreateCompatibleDC(src);
	HBITMAP hbitmap = CreateCompatibleBitmap(src, width, height);
	HBITMAP hOriginal = (HBITMAP)SelectObject(dc, hbitmap);
	pRender->DrawToDC(dc);
	SelectObject(dc, hOriginal);
	DeleteDC(dc);
	DeleteDC(src);
	pRender->Release();
	return hbitmap;
}



另外我找了一些大神写的代码打包了,都是可以实现网页保存成图片的,个人觉得自己的原来和他们一样,但是简洁一些吧。

下载地址:http://download.csdn.net/detail/qiujuer/6993551


转载请注明出处。

你可能感兴趣的:(VC,dc,IHTMLDocument2,网页保存为图片)