UNPKG

980 BJavaScriptView Raw
1import { findDOM } from '../../utils';
2import { MethodHandler } from '../../utils/handler';
3/**
4 * 把当前画布指定区域的内容导出生成指定大小的图片。在 draw() 回调里调用该方法才能保证图片导出成功。
5 * @todo 暂未支持尺寸相关功能
6 */
7export const canvasToTempFilePath = ({ canvasId, fileType, quality, success, fail, complete }, inst) => {
8 const handle = new MethodHandler({ name: 'canvasToTempFilePath', 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 dataURL = canvas === null || canvas === void 0 ? void 0 : canvas.toDataURL(`image/${(fileType === 'jpg' ? 'jpeg' : fileType) || 'png'}`, quality);
13 return handle.success({
14 tempFilePath: dataURL
15 });
16 }
17 catch (e) {
18 return handle.fail({
19 errMsg: e.message
20 });
21 }
22};