如何使用HTML标记构建图像?

时间:2009-07-23 15:25:05

标签: html image

我需要使用Microsoft的HTMLDocument对象以HTML格式显示报告和内容。

不幸的是,你可以给文档HTML标记,但你不能给它图像。它只能显示您从URL获得的图像,例如:

  • 的http://
  • 文件://
  • RES://

作为一种解决方法,我认为我可以使用HTML标记,逐个像素的像素构建图像。

这方面有没有工作?它应该绝对定位1x1彩色跨度吗?一个350x200的表,行和列的大小都是一个像素?

7 个答案:

答案 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 dealterrible thing。我可以告诉你,你最好的选择是使用tables,而不是divs或跨度。即使这样,它也非常低效并且需要永远加载,正如您从我链接的示例中看到的那样。只是不要这样做,除了作为一个不正当的笑话。

答案 4 :(得分:0)

几年前我写了一个PHP class来做这个,但是我不建议在现实世界中使用它,因为浏览器需要很长时间来渲染足够大的图像。

除非我没有正确理解您的问题,否则为什么不能使用完整的网址引用图片:

http://somewhere.com/myimage.jpg

答案 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库。