UNPKG

1.97 kBSource Map (JSON)View Raw
1{"version":3,"file":"canvasPutImageData.js","sources":["../../../src/api/canvas/canvasPutImageData.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\n\r\nimport { findDOM } from '../../utils'\r\nimport { MethodHandler } from '../../utils/handler'\r\n\r\n/**\r\n * 将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 <canvas> 组件\r\n * @todo 暂未支持尺寸相关功能\r\n */\r\nexport const canvasPutImageData: typeof Taro.canvasPutImageData = ({ canvasId, data, x, y, success, fail, complete }, inst) => {\r\n const handle = new MethodHandler({ name: 'canvasPutImageData', success, fail, complete })\r\n const el = findDOM(inst) as HTMLElement\r\n const canvas = el?.querySelector(`canvas[canvas-id=\"${canvasId}\"]`) as HTMLCanvasElement\r\n\r\n try {\r\n const ctx = canvas.getContext('2d')\r\n // TODO Uint8ClampedArray => ImageData\r\n ctx?.putImageData(data as unknown as ImageData, x, y)\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({\r\n errMsg: e.message\r\n })\r\n }\r\n}\r\n"],"names":[],"mappings":";;;AAKA;;;AAGG;MACU,kBAAkB,GAAmC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,KAAI;AAC5H,IAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;AACzF,IAAA,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAgB,CAAA;AACvC,IAAA,MAAM,MAAM,GAAG,EAAE,KAAA,IAAA,IAAF,EAAE,KAAF,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAE,CAAE,aAAa,CAAC,CAAA,kBAAA,EAAqB,QAAQ,CAAA,EAAA,CAAI,CAAsB,CAAA;IAExF,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;;AAEnC,QAAA,GAAG,KAAH,IAAA,IAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,YAAY,CAAC,IAA4B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACrD,QAAA,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;AACxB,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;QACV,OAAO,MAAM,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,CAAC,CAAC,OAAO;AAClB,SAAA,CAAC,CAAA;AACH,KAAA;AACH;;;;"}
\No newline at end of file