我想从ImageData对象(即宽度、高度、数据)创建一个dataURL。我知道canvas可以做到这一点,但我想避免canvas使用时的失真(主要是alpha预乘)。也就是说,我想避免明显的canvas.putImageData步骤。
从这篇帖子中,我可以将任何arraybuffer/ typedarray/dataview转换为base64。我不知道的是canvas dataurl如何将宽度/高度添加到base64字符串的Uint8数据部分中。我也不知道png转换是如何完成的。(我可以使用原始数据图像类型,但我认为只有png和jpg)
可能的方法:
从这篇帖子中,我可以将任何arraybuffer/ typedarray/dataview转换为base64。我不知道的是canvas dataurl如何将宽度/高度添加到base64字符串的Uint8数据部分中。我也不知道png转换是如何完成的。(我可以使用原始数据图像类型,但我认为只有png和jpg)
可能的方法:
- 使用putImageData将ImageData加载到Canvas中。失败,数据失真。
- 使用img.src = base64数据创建图像。失败,必须是canvas dataurl。
- 其他?
canvas
包,但我想知道是否有更好的方法。 - Paleo