【问题标题】:html to jpg with c#用c#将html转为jpg
【发布时间】:2011-11-14 20:30:17
【问题描述】:

我进行了一些搜索以尝试从 html 页面生成 jpg 文件,并找到了一种名为 IECapt 的解决方案或类似的解决方案,它需要服务器上的 IE 才能工作……这不是我想要的。

这就是我要做的事情:从 html 页面生成 jpg 图像(html 页面将只是文本),然后在 jpg 上添加水印。

基本上,我正在创建一个“样本”,我的用户可以看到它只是从 html 创建的图像(同样只是纯文本)。如上所述,该样本上应该有水印。是否有任何库可用于使用 c# 执行此操作?我想要的是传递我想要转换为方法的页面的 url,也许是 jpg 的保存路径,然后让它发挥它的魔力,然后将该 url 转换为 jpg 图像,在上面添加水印它,然后说万岁!

编辑 1

从下面的答案中添加一些代码..我无法理解这个:

InitialContainer c = new InitialContainer("<html><body><div align=\"center\">This is my html, does it work here?</div></body></html>");
Bitmap m_Bitmap = new Bitmap(400, 700);
c.Paint(Graphics.FromImage(m_Bitmap));
m_Bitmap.Save(@"C:\test\Test.bmp");


编辑 2

这确实有效。

Bitmap m_Bitmap = new Bitmap(400, 600);
PointF point = new PointF(0,0);
HtmlRenderer.Render(Graphics.FromImage(m_Bitmap), "<html><body><div align=\"center\">This is my html, does it work here?</div></body></html>",point, 500);
m_Bitmap.Save(@"C:\test\Test.bmp");

【问题讨论】:

标签: c# .net html jpeg


【解决方案1】:

您可以使用this HtmlRenderer class

【讨论】:

  • 你的回答让我减轻了很多压力。一直在使用依赖于 IE 的可怕解决方案。谢谢:)
  • 我正在研究这个解决方案,但我没有看到任何将呈现的 HTML 保存为图像的选项。我已经下载了示例 exe 并正在使用它,但到目前为止,我找不到任何关于将生成的 html 保存到图像的信息......任何指针?
  • @Christopher:创建一个Bitmap对象,然后使用HtmlRenderer渲染到Graphics.FromImage(...)
  • 好的,我用一些我试图用来创建图像的代码更新了我的 OP(我可能会担心稍后转换为 jpg)。目前,它只是创建一个看起来像一堆文本的文件。对不起,我以前从未使用过图形……我在这里做错了什么?
  • 这个链接太旧了,我建议使用:HtmlRenderer on CodePlex
【解决方案2】:

这个我没试过,不过你可以试试Control.DrawToBitmap()。 要绘制水印,您可以这样:

Image img; //the html image.
Image watermark; //the watermark image.
Point location; //where to draw the watermark on the html image.

Graphics g = Graphics.FromImage(img);
g.DrawImage(watermark, location);

【讨论】:

  • 也许可以使用 WebKit 或 Gecko 来做到这一点。
  • 这如何帮助我将原始 html 转换为图像?
  • 可以使用GeckoFX加载html,然后Control.DrawToBitmap()进行绘制。
  • 所以我发现了这个:stackoverflow.com/questions/2715385/… 我有它的工作,但我有点担心一些事情。我必须在我的项目(这是一个 MVC Web 项目)中包含 System.Windows.Forms使这项工作。在网络项目中这样做是不好的做法吗?
  • 为什么这是不好的做法?还有什么其他选择?没有正当理由就说这是不好的做法是不好的做法。
猜你喜欢
  • 1970-01-01
  • 2011-01-31
  • 2015-09-29
  • 1970-01-01
  • 2012-06-14
  • 2023-02-24
  • 2010-12-16
  • 2015-07-12
  • 2019-06-05
相关资源
最近更新 更多