scratch3.0发布作品生成封面图

scratch3.0发布作品生成封面图

canvas生成图片

		let myCanvas = document.getElementById('stage-canvers'); 
		let image = myCanvas.toDataURL("image/png");

我最初是这样写的,只有偶尔情况下能生成图片,其他时候都是黑色的。找了很久质料,偶尔在一个论坛上看到了解决方案。

正确的姿势

		let render = this.props.vm.renderer
		render.draw()
        let myCanvas = document.getElementById('stage-canvers'); 
        let image = myCanvas.toDataURL("image/png");
        
        //TODO 把base64图片上传到七牛
        qiniuToken().then(res => {
            let _t = res.content.QINIU_TOKEN
            putb64(image, _t, res => {
                coverData = res
            })
        })
        //这是一个简单的上传方法
        export const putb64 =function(image,_t,cb){
		  var pic = image.split('base64,')[1];
		  var url = Qiniu_UploadUrl+'/putb64/-1';
		  var xhr = new XMLHttpRequest();
		  xhr.onreadystatechange=function(){
		    if (xhr.readyState==4){
		      let _res = JSON.parse(xhr.response)
		      if(cb){
		        cb(`${quniuUrl}/${_res.key}`)
		      }
		      // document.getElementById("myDiv").innerHTML=xhr.responseText;
		    }
		  }
		  xhr.open("POST", url, true);
		  xhr.setRequestHeader("Content-Type", "application/octet-stream");
		  xhr.setRequestHeader("Authorization", `UpToken ${_t}`);
		  xhr.send(pic);
		}

ok到这里就全部搞定。

感谢:https://blog.csdn.net/weiwoyonzhe/article/details/86603217

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Scratch 3.0课件是一个可以帮助学生学习编程和创意思维的教育工具。它提供了一个用户友好的界面,使学生能够通过拖拽形化编程模块来创建自己的互动故事、游戏和动画。 Scratch 3.0课件的主要特点包括: 1. 形化编程界面:Scratch 3.0课件采用了形化编程语言,学生可以将不同的编程模块拖拽到舞台上,并使用它们来创建自己的程序。这种可视化的编程方式使得编程变得简单易懂,降低了学习的难度。 2. 丰富的编程模块:Scratch 3.0课件提供了丰富的编程模块,涵盖了从语句控制到事件处理、运算逻辑等各个方面。学生可以根据自己的需求选择合适的模块来创建自己的程序,实现各种创意。 3. 多媒体支持:Scratch 3.0课件支持导入各种多媒体资料,如片、声音和视频等。学生可以通过添加多媒体元素来丰富自己的作品,使其更加生动有趣。 4. 社区分享:Scratch 3.0课件提供了一个在线社区平台,学生可以将自己的作品分享给其他人,也可以从其他人的作品中获取灵感和学习资源。这样的社区互动可以激发学生的创造力和思维能力。 通过使用Scratch 3.0课件,学生可以培养自己的逻辑思维、问题解决和创意思维能力。它不仅有助于学生理解编程的基本概念,也可以激发他们的创造力,培养合作精神。Scratch 3.0课件在教育领域广泛应用,被认为是一种理想的教学工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值