如何不通过canvas读取图片的内存数据
发布于 6 年前 作者 ping45 19925 次浏览 来自 问答
  • 需求的场景描述(希望解决的问题)

需要读取图片的内存数据,目前通过如下方式获得

var ctx = wx.createCanvasContext(“canvas”, that)

console.log(“ctx”, ctx)

ctx.drawImage(that.data.tempFilePath, 0, 0, cw, ch)

ctx.draw(false, function () {

wx.canvasGetImageData({

canvasId: ‘lutCanvas’,x: 0,y: 0,width: size,height: size,complete: function (res) {

console.log(“load lut”, res)

}

})})

此方式必须要把图片绘制在Page的页面上,如果不希望绘制在UI上,则无法得到图片内存数据。

  • 希望提供的能力

能够直接从图片路径得到图片的像素数组,不需要通过canvas绘制。

3 回复

多谢!

我现在实现离屏画布方式是把画布画在屏幕外,并禁止scroll页面,暂时实现了我的需求。

实际上,在Web标准中也无法实现你要的功能。除非使用 ArrayBuffer 方式请求图片并自行实现图片解码。

如果仅仅是不需要显示在UI上,则你需要的是离屏画布功能,微信小程序确实没有这个功能非常讨厌。

你好,目前暂不支持此功能。

回到顶部