UNPKG

936 BJavaScriptView Raw
1import { findDOM } from '../../utils';
2import { MethodHandler } from '../../utils/handler';
3/**
4 * 将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 <canvas> 组件
5 * @todo 暂未支持尺寸相关功能
6 */
7export const canvasPutImageData = ({ canvasId, data, x, y, success, fail, complete }, inst) => {
8 const handle = new MethodHandler({ name: 'canvasPutImageData', success, fail, complete });
9 const el = findDOM(inst);
10 const canvas = el === null || el === void 0 ? void 0 : el.querySelector(`canvas[canvas-id="${canvasId}"]`);
11 try {
12 const ctx = canvas.getContext('2d');
13 // TODO Uint8ClampedArray => ImageData
14 ctx === null || ctx === void 0 ? void 0 : ctx.putImageData(data, x, y);
15 return handle.success();
16 }
17 catch (e) {
18 return handle.fail({
19 errMsg: e.message
20 });
21 }
22};