是否可以将Html控件转换为C#中的图像?
是否有任何C#方法可以传递Html控件对象并返回该html控件的图像?
这可能,有什么建议吗?
答案 0 :(得分:14)
我们已使用http://iecapt.sourceforge.net/将HTML转换为图片。 你可以尝试一下。它适用于免费。
答案 1 :(得分:5)
在名为htmlsnapshot的guangmingsoft上考虑这个(未经测试的!)库。
添加对htmlsnap2.dll的引用
有一个示例项目可供下载。
以下是他们的示例代码,直接从该链接中提取:
snap = new CHtmlSnapClass();
snap.Url("www.google.com", "*")
byte[] data = (byte[])snap.GetImageBytes(".jpg");
//byte[] data = (byte[])snap.GetThumbImageBytes(".jpg", 100, 100, 1);
FileStream fs = File.OpenWrite(@"c:\1.jpg");
BinaryWriter br = new BinaryWriter(fs);
br.Write(data);
br.Close();
fs.Close();
<强>更新强> 如果您只想要一个特定的控件,您可以自己编写一个页面,其作用是将目标控件重新呈现为页面上唯一的HTML。
答案 2 :(得分:2)
您所描述的控件的输出为HTML。就是这样。
您的问题是您希望将HTML片段转换为图像。渲染HTML由浏览器完成 - ASP.NET基本上与客户端呈现HTML的方式无关。
执行此任务的大多数.NET库(将HTML转换为图像)使用IE来为转换提供动力。其中一些实用程序包括:
但问题的基本答案是ASP.NET控件不呈现为图像格式。您将不得不对其上只有该控件(或HTML)的页面进行IE屏幕截图。
答案 3 :(得分:1)
我自己没有尝试过,但是我一直想要看一下可能对你有用的东西HTMLRenderer。
答案 4 :(得分:0)
您需要创建一个单独的页面,将其转换为图像并在iframe中调用它。然后尝试以下:
http://articles.sitepoint.com/article/generating-asp-net-images-fly
OR
http://www.guangmingsoft.net/wordpress/convert-html-to-image-without-temporary-files-in-c/
答案 5 :(得分:0)
是的。使用html2canvas方法可以轻松完成此操作。 html2canvas用于拍摄html元素的屏幕截图。您可以通过简单地将html div添加到html模态并将模态ID传递给jquery函数并在onclick按钮中调用该jqueryy函数来实现。 you can checkout this link to know more about the htm2canvas method