Facebook 趣味应用程序如何根据获取的信息创建图像?

How does Facebook fun apps create images from information fetched?

这东西真气人。实际上我知道如何使用 html2canvas library. But I just want to know how most of the people who have Facebook fun apps like this and this 将 HTML 转换为图像,创建图像。

我可以通过FB API获取所有需要的用户信息,那我应该如何创建一个像他们一样的JPG/PNG图像呢?我试过的是 html2canvas 但我不认为所有其他有趣的应用程序都使用这个东西。因为在查看他们的源代码时,我看不到 HTML 元素包含需要使用 html2canvas 生成的图像的所有内容。即使 canvas 元素 NOT 也存在。仅显示图像。

所以,可以有 3 种可能性:

  1. 他们使用 Ajax 在单独的 HTML/PHP 页面中进行整个处理(这是另一个问题,我搜索了很多但找不到与此相关的单一答案:请参阅下面的查询。

  2. 他们确实使用 z 隐藏了 HTML 及其相应的 CANVAS 元素-index 之类的,只显示生成的图像。

  3. 他们不使用 html2canvas。他们用别的东西。

1相关的查询:Ajax调用是否可能执行一个HTML页面,包括JS,CSS(比如 URL: 'convertAndReturnImage.php' 并渲染结果和 return 生成的 image/URLsuccess函数?

Ajax调用只能执行脚本页面,如.js或.php。它无法执行包含 HTML 文档、JS 和样式表的 .php 页面。为此,它必须在浏览器中呈现。 Ajax returns 只有结果。无论如何都无法完成这么多处理。您必须至少在浏览器中打开文档一次。

您可以轻松地在服务器上组合图像 - 将所有图像发送到服务器并将它们放置在特定的 x/y 坐标下。例如,PHP为此提供了很多功能:http://php.net/manual/de/ref.image.php

您也可以将图片与canvas合并(https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage), use the "toDataURL" function and send it to the server, of course. But you have to create it on the server. For example: Decoding a canvas todataURL

您可以使用 AJAX return 图片,或者在服务器上创建它,然后 return 添加 URL 到它。