将HTMLstring转换为图像

我有一个持有HTML标记的stringvariables。 这个HTML标记基本上代表了电子邮件的内容。

现在我想从这个实际上包含HTML标记的string内容创build一个图像。 我不想通过写入这些内容来创buildHTML文件。 我只是想使用这个string创build一个图像文件。

这是我有:

string emailBody="<html><head></head><body><p>This is my text<p>...</body</html>" 

如何从这个emailBodystring内容创build一个图像?

3 Solutions collect form web for “将HTMLstring转换为图像”

谢谢你的回应。 我已经使用HtmlRenderer的外部DLL来实现相同,并find相同的代码 。

这是这个代码

 public void ConvertHtmlToImage() { Bitmap m_Bitmap = new Bitmap(400, 600); PointF point = new PointF(0, 0); SizeF maxSize = new System.Drawing.SizeF(500, 500); HtmlRenderer.HtmlRender.Render(Graphics.FromImage(m_Bitmap), "<html><body><p>This is a shitty html code</p>" + "<p>This is another html line</p></body>", point, maxSize); m_Bitmap.Save(@"C:\Test.png", ImageFormat.Png); } 

尝试以下操作:

 using System; using System.Drawing; using System.Threading; using System.Windows.Forms; class Program { static void Main(string[] args) { var source = @" <!DOCTYPE html> <html> <body> <p>An image from W3Schools:</p> <img src=""http://www.w3schools.comhttp://img.dovov.comw3schools_green.jpg"" alt=""W3Schools.com"" width=""104"" height=""142""> </body> </html>"; StartBrowser(source); Console.ReadLine(); } private static void StartBrowser(string source) { var th = new Thread(() => { var webBrowser = new WebBrowser(); webBrowser.ScrollBarsEnabled = false; webBrowser.DocumentCompleted += webBrowser_DocumentCompleted; webBrowser.DocumentText = source; Application.Run(); }); th.SetApartmentState(ApartmentState.STA); th.Start(); } static void webBrowser_DocumentCompleted( object sender, WebBrowserDocumentCompletedEventArgs e) { var webBrowser = (WebBrowser)sender; using (Bitmap bitmap = new Bitmap( webBrowser.Width, webBrowser.Height)) { webBrowser .DrawToBitmap( bitmap, new System.Drawing .Rectangle(0, 0, bitmap.Width, bitmap.Height)); bitmap.Save(@"filename.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); } } } 

注意: 在一个启发了这个解决scheme的新线程中 ,积分应该归功于Hans Passant在WebBrowser控件 问题上的出色答案 。

没有必要将HTML转换为图像发送作为电子邮件的正文。

只需将内容设置为您所拥有的string以及相应正文部分的内容types。

  • 禁用href标记
  • 元素在一个div中的垂直alignment
  • 如何更改HTMLinput标签的字体和字体大小?
  • 点击button复制到剪贴板使用jQuery
  • TD内的DIV是一个坏主意吗?
  • jQuery单击页面中除1 div之外的任何地方
  • 将背景图片添加到<div>元素
  • 在一段时间后redirect网站
  • 指定一个iframe的内容而不是一个页面的src
  • 如何在UIWebView中caching内容以便稍后加载?
  • 突出显示当前页面的导航菜单