我需要使用Microsoft的HTMLDocument
对象以HTML格式显示报告和内容。
不幸的是,你可以给文档HTML标记,但你不能给它图像。它只能显示您从URL获得的图像,例如:
作为一种解决方法,我认为我可以使用HTML标记,逐个像素的像素构建图像。
这方面有没有工作?它应该绝对定位1x1彩色跨度吗?一个350x200的表,行和列的大小都是一个像素?
答案 0 :(得分:7)
你能使用the Data URI scheme吗?
IE8支持此功能(与大多数较新的浏览器一样);你的图片看起来像这样:
<img src="data:image/png;base64,A0123...==">
其中A0123...
内容是图像文件的base64表示。根据您使用的语言,您可以利用Convert.ToBase64String()
为您完成大部分工作。
答案 1 :(得分:6)
在我看来,最简单的方法是使用base64编码的图像。它足够有效,并且有自动生成的工具: http://www.greywyvern.com/code/php/binary2base64。
答案 2 :(得分:2)
人们非常恐惧,done some solid work in this area。我链接到的解决方案使用带有RLE压缩的表,这对我来说似乎很聪明。
答案 3 :(得分:2)
首先,请注意:这是你计划做的可怕,可怕的事情。
现在我们已经完成了这项工作,我碰巧完成了a good deal的terrible thing。我可以告诉你,你最好的选择是使用tables,而不是divs或跨度。即使这样,它也非常低效并且需要永远加载,正如您从我链接的示例中看到的那样。只是不要这样做,除了作为一个不正当的笑话。
答案 4 :(得分:0)
除非我没有正确理解您的问题,否则为什么不能使用完整的网址引用图片:
答案 5 :(得分:0)
“报道和事情”......在这里可能会更清楚......
如果您最终想要做的是显示一个恰好动态生成的报告,您可以自动生成报告的图像。报告工具中可能提供“导出为PDF”。原油,但比你现在的目标更简单,更有效率。
答案 6 :(得分:0)
在IE中,只有你可以使用VML来提供类似SVG的基本矢量绘图功能。
这家伙创建了一个javascript库,只使用sivs在浏览器中绘制矢量图形:http://web.archive.org/web/20080112113027/www.walterzorn.com/jsgraphics/jsgraphics_e.htm(网站目前看来很低)
这些天你也可以尝试使用浏览器画布或VML支持的Raphaël库。