简体   繁体   中英

How to Convert HTML Code into Images Using code behind C#

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.

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();

Thanks in advance.

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);
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM