我使用webBrowser加载一个写好的html,设置html中center的尺寸为794 * 1123private void GetWebBrowserScreen(WebBrowser wb, int width, int height) {
foreach (HtmlElement f in wb.Document.GetElementsByTagName("center")) {
//将元素绝对定位到页面左上角
f.Style = "position: absolute; z-index: 9999; top: 0px; left: 0px";
//抓图
_image = new Bitmap(f.ClientRectangle.Width, f.ClientRectangle.Height);
wb.DrawToBitmap(_image, new Rectangle(new Point(), f.ClientRectangle.Size));
break;
}
}得到的图片尺寸是794 * 1123,但原来794 * 1123可以显示下的内容,在图片中显示不下了,求解……
foreach (HtmlElement f in wb.Document.GetElementsByTagName("center")) {
//将元素绝对定位到页面左上角
f.Style = "position: absolute; z-index: 9999; top: 0px; left: 0px";
//抓图
_image = new Bitmap(f.ClientRectangle.Width, f.ClientRectangle.Height);
wb.DrawToBitmap(_image, new Rectangle(new Point(), f.ClientRectangle.Size));
break;
}
}得到的图片尺寸是794 * 1123,但原来794 * 1123可以显示下的内容,在图片中显示不下了,求解……
wb.DrawToBitmap(_image, new Rectangle(new Point(0,0), f.ClientRectangle.Size));
要不你把宽度和高度加大点
wb.DrawToBitmap(_image, new Rectangle(0,0,f.ClientRectangle.Size.Width+10,f.ClientRectangle.Size.Height+10));
WebBrowser wb = new WebBrowser();
wb.ScrollBarsEnabled = false;
wb.Navigate(_url);
wb.DocumentCompleted += delegate(object sender, WebBrowserDocumentCompletedEventArgs e) {
wb.ClientSize = new Size(794, 1123);
wb.ScrollBarsEnabled = false;
_image = new Bitmap(wb.Bounds.Width, wb.Bounds.Height);
_image.SetResolution(96, 96);
//控件置顶
wb.BringToFront();
//wb.DrawToBitmap(_image, wb.Bounds);
this.GetWebBrowserScreen(wb, _width, _height);
OnWebBrowserBitmapCreated(_image);
};
while (wb.ReadyState != WebBrowserReadyState.Complete) {
//重新绘制窗体加载
Application.DoEvents();
}
foreach (HtmlElement f in wb.Document.GetElementsByTagName("center")) {
//将元素绝对定位到页面左上角
f.Style = "position: absolute; z-index: 9999; top: 0px; left: 0px";
//抓图
_image = new Bitmap(794, 1123);
Size size = new Size(794, 1123);
wb.DrawToBitmap(_image, new Rectangle(new Point(), f.ClientRectangle.Size));
break;
}