我正在尝试使用stackoverflow上发布的以下方法将网页转换为图像: Convert webpage to image from ASP.NET
然而,我遇到了某些html的问题,其中包含以下代码:
var browser = (WebBrowser)sender;
browser.ScriptErrorsSuppressed = true;
int width = browser.Document.Body.ScrollRectangle.Width; //width is returning 33017
int height = browser.Document.Body.ScrollRectangle.Height; //height is returning 8145
browser.ClientSize = new Size(width, height);
browser.ScrollBarsEnabled = false;
m_Bitmap = new Bitmap(width, height);
browser.BringToFront();
browser.DrawToBitmap(m_Bitmap, browser.Bounds);
// Save as file?
if (m_FileName.Length > 0)
m_Bitmap.SaveImage(m_FileName, m_FileType, m_FileQuality);
m_Bitmap.Dispose();
预期结果是 宽度= 600 身高= 8186
但我得到了一些疯狂的结果: width = 33017 身高= 8145
我无法弄清楚宽度不正确的原因。
非常感谢任何帮助或指示。
谢谢,
瑞克
答案 0 :(得分:0)
由于HTML格式不正确,WebsitetoImage失败。修复了HTML,然后正确保存了图像。