收藏
回答

如何不通过canvas读取图片的内存数据

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 canvas 工具 6.6.7 2.0.4

- 需求的场景描述(希望解决的问题)

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

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绘制。

最后一次编辑于  2018-06-28
回答关注问题邀请回答
收藏

3 个回答

  • 发芽的土豆
    发芽的土豆
    2018-06-29

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

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

    2018-06-29
    赞同 1
    回复
  • 胡文杰
    胡文杰
    2018-07-03

    多谢!

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


    2018-07-03
    赞同
    回复
  • 晨
    2018-06-29

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

    2018-06-29
    赞同
    回复