我正在尝试在 C# 中将 HTML 转换为图像,但我做不到。
我的 html 有标签以及图像的 base64 字符串数据。
如果我皈依,一切都会变空。
请帮帮我。
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> <span style='left:356px;top:34px;position:absolute;'><img
src='data:image/gif;base64,R0lGODlhFABgAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAAUAGAAAAKKjI+py+0Po5y02ouz3rz7nwAiMJHXaEZphYJMK60UrGK0i9yPXI6l7cNxeAeUbsFLBXMKkzLUNDyhxaJRdpxdQ1dnFfmdRqVWIvkcE+XUP7S0i8aO4e46mLpj2rnszbK29/IVE2Dm8gchljio0iekYSiUJWgR2WD0WDZ5p2WJ55kZKjpKWmp66lIAADs%3D'/></span>
</body>",point, maxSize);
m_Bitmap.Save(@"C:\Test.png", ImageFormat.Png);
}
提前致谢。
最佳答案
下载这个包:https://www.nuget.org/packages/CoreHtmlToImage/
然后写这段代码:
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var converter = new HtmlConverter();
var html = "<html>" +
"<body>" +
"<p>This is a shitty html code</p><p>This is another html line</p>" +
"<span style='left:356px;top:34px;position:absolute;'>" +
"<img src='data:image/gif;base64,R0lGODlhFABgAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAAUAGAAAAKKjI+py+0Po5y02ouz3rz7nwAiMJHXaEZphYJMK60UrGK0i9yPXI6l7cNxeAeUbsFLBXMKkzLUNDyhxaJRdpxdQ1dnFfmdRqVWIvkcE+XUP7S0i8aO4e46mLpj2rnszbK29/IVE2Dm8gchljio0iekYSiUJWgR2WD0WDZ5p2WJ55kZKjpKWmp66lIAADs%3D'/>" +
"</span>" +
"</body>" +
"</html>";
var bytes = converter.FromHtmlString(html);
File.WriteAllBytes("image.jpg", bytes);
}
运行你会得到你的页面:
关于c# - 使用 C# 将 HTML 转换为图像。 Html 有标签以及 base64 字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57109842/