创建一个div的图像?

时间:2009-11-13 00:39:58

标签: php javascript jquery image-capture

我想知道是否可以在php,jquery或javascript中在页面内创建div的图像?甚至只是整个页面的截图(在我自己的服务器上 - 而不是外部)..

我想要做的是创建一个图形图像(通过jQuery绘制)并将其传递给PDF,因为我似乎无法在PDF格式中显示jQuery ..

5 个答案:

答案 0 :(得分:2)

由于存在安全风险,因此无法使用Javascript来制作网页的屏幕截图。这将允许您窃取信用卡信息等...您可以使用活动的X控件或类似的东西,但客户端必须知情地安装它以便工作。

在PHP中,您可以创建图像并将其放在网页上,但同样,您无法看到客户端屏幕上的内容。它必须在服务器上发送到客户端之前完成。

以下是可用于在PHP中绘制图形的库的示例。 http://www.aditus.nu/jpgraph/

您可能能够模仿jQuery在脚本中执行的操作,但它会改变您的应用程序设计。

答案 1 :(得分:1)

看一下这篇文章:

http://www.developerfusion.com/code/181/capture-screenshot/

这不是客户端代码,但你提到了PHP,所以也许服务器端代码是一个选项。我不认为你可以在客户端做到这一点......

答案 2 :(得分:1)

如何使用服务器端图生成器,例如PHP?也许过渡会受到伤害,但你会得到一个非常稳定和简单的解决方案。

如果你描述了你准确生成了哪种类型的图表以及你有哪些服务器端选项,我相信你会得到一些具体的提示。

答案 3 :(得分:1)

您最好的选择是使用服务器上的GD库根据需要生成图表。浏览器画布没有实用的方法。查看这个PHP图形库,它可能是您正在寻找的:

http://graphpite.sourceforge.net/

如果遇到服务器上不存在的客户端处理问题(即:汇总行或从cookie中获取用户设置),您可能需要考虑传递该数据回到服务器并让你的主机处理它(毕竟,这就是为什么你运行一个有大量RAM和大CPU的服务器来处理数字)。

答案 4 :(得分:1)

如果您的javascript在画布上绘制图形,您可以序列化画布,然后使用POST将其发送到服务器。

我不知道jquery是否可以在画布上绘制图形,但如果图形是一个简单的图形,你可以自己编写代码,因为画布已经有了绘图工具。

显然,这仅适用于支持画布的浏览器。