修改原生组件
// 首先修改组件 RenderWebGL.js, 添加 preserveDrawingBuffer: true
// 文件地址 node_modules\scratch-render\src\RenderWebGL.js
// 修改前
static _getContext (canvas) {
return twgl.getWebGLContext(canvas, {alpha: false, stencil: true});
}
// 修改后
static _getContext (canvas) {
return twgl.getWebGLContext(canvas, {alpha: false, stencil: true, preserveDrawingBuffer: true});
}
获取画布对象,保存成图片到七牛云上
// 将类名为stage_stage_DTWo5的canvas对象转换成png对象
$("canvas.stage_stage_DTWo5")[0].toBlob(function (blob) {
// 使用七牛保存文件需要使用npm七牛云的js组件
let observable2 = qiniu.upload(blob, "保存的文件名", "七牛Token", {}, {});
let observer2 = {
next(res){
console.log("作品缩略图上传进度:", res.total.percent+"%");
},
error(err){
console.log("作品缩略图上传异常:", err);
},
complete(res){
console.log("作品缩略图上传结果:", res);
}
}
observable2.subscribe(observer2) // 上传开始
}, "image/png");