从HTML模板ASP.NET创建图像

时间:2012-01-13 02:43:28

标签: asp.net html

我在这里发现了100个帖子和谷歌讨论这种类型...从html创建图像但没有找到任何解决我问题的方法。

我正在使用在运行时使用某些模板创建HTML广告的应用程序。我需要保存每个广告的图片。 HTML广告(显示为HTML页面)非常出色...如何保存/捕获此添加到图像中?我正在开发ASP.NET

我的研究指出我使用WebRequest方法来获取页面,然后从中获取byte []以将其保存到图像... WHICH FAILS ...导致HTML作为文本出现并且尚未格式化(直到显示在浏览器中)....其次我得到了有趣的结果,使用HTML5 Canvas元素......可悲的是我的应用程序不在HTML5中...谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用WebBrowser控件(我想使用IE引擎):

using System.Windows.Forms;
using System.Drawing;

...

using(var browser = new WebBrowser())
{
    browser.ScrollBarsEnabled = false;
    browser.ScriptErrorsSuppressed = true;
    browser.Navigate("www.example.com");
    while(browser.ReadyState != WebBrowserReadyState.Complete) 
    { 
        Application.DoEvents(); 
    }
    browser.Width = browser.Document.Body.ScrollRectangle.Width;
    browser.Height = browser.Document.Body.ScrollRectangle.Height;

    var bitmap = new Bitmap(browser.Width, browser.Height);
    browser.DrawToBitmap(bitmap, new Rectangle(0, 0, browser.Width, browser.Height));
    bitmap.Save("filename");
}