gpt4 book ai didi

php - 在没有客户端浏览器的情况下将 HTML Canvas 保存为图像

转载 作者:行者123 更新时间:2023-11-28 00:09:45 25 4
gpt4 key购买 nike

我在页面加载时(没有用户交互)在几个重叠的 Canvas 上生成图像,但这确实需要大约 3 秒才能完全绘制。我想展平这些 Canvas ,并在服务器上将此图像转换为 PNG,以用于缩略图预览。

展平到单个 Canvas (使用 ctx.drawImage(other_canvas,0,0))然后 ctx.toDataUrl() 看起来正是我需要的。有没有办法在服务器端执行此操作而不需要用户的浏览器?也许是某种命令行 javascript/canvas 解析器,它可以加载页面,等待 Canvas 完成渲染,然后注入(inject)一些 javascript 来展平,调用 DataUrl,调整大小并保存生成的图像。

呈现缩略图并将其发送回服务器的 AJAX 解决方案将无法工作,因为在第一个人查看页面之前我需要缩略图。它还需要快(希望只比 Canvas 渲染时间稍长,3 秒)。我等不及像浏览器截图这样的外部服务了。

我查看了 CutyCapt,但它呈现了整个网页,而不仅仅是 Canvas (而且由于某种原因似乎也没有在我的 Canvas 上绘制所有内容)。

最佳答案

您可能想看看 Phantomjs: https://github.com/ariya/phantomjs/wiki/Screen-Capture

这很好地将 html 内容呈现为 PNG,尽管这也将完成整个页面。也许你可以将你感兴趣的 Canvas 内容包装在一个单独的页面中,然后使用 phantomjs 将其转换为 png。

关于php - 在没有客户端浏览器的情况下将 HTML Canvas 保存为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16063891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com