如何使用 C# 背后的代码将 HTML 代码转换为图像 [英] How to Convert HTML Code into Images Using code behind C#

查看:23
本文介绍了如何使用 C# 背后的代码将 HTML 代码转换为图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从 C# 中的 HTML 代码中获取图像,但是我没有得到图像.能否请您指导我如何在后面的 C# 代码中将 HTML 代码转换为图像.

I am trying to get image from HTML code in C#,But I didn't get image. Can you please guide me how to convert HTML code into image in C# code behind.

我尝试将 html 代码字符串传递到 Bitmap,但我没有得到这个.

I tried with passing html code string into Bitmap but I am not getting this.

mailtxt = "<html><body><table><tr><td>Hello Sir</td></tr></table></body></html>";
StringBuilder str = new StringBuilder();str.Append(mailtxt.ToString());
Bitmap objBmpImage = new Bitmap(2, 2);

        int intWidth = 0;
        int intHeight = 0;

        // Create the Font object for the image text drawing.
        System.Drawing.Font objFont = new System.Drawing.Font("Arial", 10, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);

        // Create a graphics object to measure the text's width and height.
        Graphics objGraphics = Graphics.FromImage(objBmpImage);

        // This is where the bitmap size is determined.
        intWidth = (int)objGraphics.MeasureString(str.ToString(), objFont).Width;
        intHeight = (int)objGraphics.MeasureString(str.ToString(), objFont).Height;

        // Create the bmpImage again with the correct size for the text and font.
        objBmpImage = new Bitmap(objBmpImage, new Size(intWidth, intHeight));


        // Add the colors to the new bitmap.
        objGraphics = Graphics.FromImage(objBmpImage);

        // Set Background color

        objGraphics.Clear(System.Drawing.Color.White);
        objGraphics.SmoothingMode = SmoothingMode.HighQuality;



        objGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; //  <-- This is the correct value to use. ClearTypeGridFit is better yet!
        objGraphics.DrawString(str.ToString(), objFont, new SolidBrush(System.Drawing.Color.Black), 0, 0, StringFormat.GenericDefault);

        objGraphics.Flush();

提前致谢.

推荐答案

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 just a html code</p>"
                                           + "<p>This is another html line</p></body>",
                                            point, maxSize);

   m_Bitmap.Save(@"C:\Test.png", ImageFormat.Png);
}

这篇关于如何使用 C# 背后的代码将 HTML 代码转换为图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆