首页 > 解决方案 > 从画布获取图像数据作为文本的最快方法

问题描述

背景

我正在制作一个需要创建大量(数千)不同图像的游戏,以便将它们中的每一个都绘制到画布上。我可以让创建过程变慢,因为我可以随着时间的推移来完成,但我需要在之后存储它们,这样我就不必再次制作它们了。我会将它们与其他数据一起存储在一个文件中,这就是我需要它们作为文本的原因。

标题中的“图像数据”是什么意思

任何可能的数据:

例如,数据 URI 或像素数组(使用 JSON 转换为字符串格式)都可以用于将图像存储为文本。也可以对这两者进行处理以创建原始图像。最好是处理数据以绘制它的时间少于创建它的时间,因为这会使首先存储它变得无关紧要。

但是最快的方法是什么?我的画布宽度和高度是 1800 和 1000。我目前正在使用context.toDataURL()它平均 100 毫秒,这太慢了。

最后的问题

从可以处理以重新创建它的画布中获取数据的最快方法是什么?

标签: javascripthtmlhtml5-canvastodataurl

解决方案


推荐阅读