【问题标题】:Is there a way to merge images in JavaScript without using canvas?有没有办法在不使用画布的情况下在 JavaScript 中合并图像?
【发布时间】:2021-08-12 18:13:26
【问题描述】:

我正在尝试导出大于the maximum canvas size 的图像 (PNG)。我已经平铺了画布导出,以便每个平铺都足够小以生成(使用toBlob)。现在我需要一种将图像合并在一起的方法,但找不到一种本身不使用画布的方法。这有可能吗?

【问题讨论】:

  • 是的,您可以使用PNG encoder (untested),从您的图块中构建您自己的 ImageData,这样就可以了。

标签: javascript image-processing canvas html5-canvas


【解决方案1】:

Kaiido 的回答效果很好。我正在使用getImageData 平铺画布导出(移动每个图块的画布内容),然后遍历所有 ImageData 图块并创建一个新的 RGBA 值数组,并将其发送到fast-pngencode .它不是很快,尤其是在移动设备上(在 iPhone X 上合并约 30MP 图像大约需要 40 秒),但我是在后台线程上使用 Worker 进行的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-12
    • 2020-10-05
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2012-06-01
    • 2021-09-24
    • 2015-05-09
    相关资源
    最近更新 更多