我正在尝试使用C#中的HTML代码获取图像,但我没有获得图像。 您能否指导我如何将HTML代码转换为C#代码后面的图像。
我尝试将html代码字符串传递给Bitmap,但我没有得到这个。
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();
提前致谢。
答案 0 :(得分:0)
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);
}