browser.Document.ScrollRectangle.Width未返回正确的值

时间:2014-07-31 03:51:12

标签: c# image webbrowser-control

我正在尝试使用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

我无法弄清楚宽度不正确的原因。

非常感谢任何帮助或指示。

谢谢,

瑞克

1 个答案:

答案 0 :(得分:0)

由于HTML格式不正确,WebsitetoImage失败。修复了HTML,然后正确保存了图像。