【问题标题】:Create an image of a div?创建一个div的图像?
【发布时间】:2009-11-13 00:39:58
【问题描述】:

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

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

【问题讨论】:

  • 也许这个帖子可以提供一些帮助:stackoverflow.com/questions/839216/…
  • 是的,我看过了,谢谢,但我不认为我可以用它来满足我的需要
  • 您可以更改您的应用程序以便在服务器端生成图表还是必须在 jQuery 中完成?
  • 我正在使用 jQuery Flot(和一些 php)根据他们选择显示的选项动态创建图表。我似乎找不到一个看起来不像的 php废话哈哈
  • 根据您的图表需求,您可以使用 Google Charts (code.google.com/apis/chart)

标签: php javascript jquery image-capture


【解决方案1】:

由于存在安全风险,无法获取 Javascript 对网页进行截图。这将允许您窃取信用卡信息等...您可以使用主动 X 控件或类似的东西,但客户端必须有意识地安装它才能使事情正常工作。

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

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

您也许可以在您的脚本中模仿 jQuery 所做的事情,但它会改变您的应用程序设计。

【讨论】:

  • 嗯,我真的只是希望我的 jQuery 图形以某种方式变成图像.. 我不介意它是否在客户看到之前完成.. 只是不知道该怎么做它:(
  • 我编辑了这篇文章,提供了更多关于直接通过 PHP 绘制图形的信息 - 可能会有所帮助
【解决方案2】:

看看这篇文章:

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

      最好的办法是使用服务器上的 GD 库根据需要生成图形。没有实用的方法来截屏浏览器画布。看看这个 PHP 图形库,它可能就是你要找的东西:

      http://graphpite.sourceforge.net/

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

      【讨论】:

        【解决方案5】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2014-01-10
          • 1970-01-01
          • 2012-05-10
          • 1970-01-01
          • 2021-12-16
          • 1970-01-01
          • 2022-08-12
          • 1970-01-01
          • 2013-09-23
          相关资源
          最近更新 更多