uni-app 绘制屏幕保存到相册

绘制整个屏幕并保存到相册

capture() { // 绘制图片保存相册
    let _this = this;
    let pages = getCurrentPages();
    let page = pages[pages.length - 1];
    let bitmap=null; 
    // #ifdef APP-PLUS
    let currentWebview = page.$getAppWebview();    
    bitmap = new plus.nativeObj.Bitmap('amway_img');  
    // 将webview内容绘制到Bitmap对象中  
    currentWebview.draw(bitmap,function(){  
      console.log('截屏绘制图片成功');  
      // bitmap.save( "_doc/"+Math.random()+".jpg"
      bitmap.save( "_doc/invite.jpg"
      ,{}  
      ,function(i){  
          console.log('保存图片成功:'+JSON.stringify(i));  
          uni.saveImageToPhotosAlbum({  
              filePath: i.target,  
              success: function () {
                _this.imagePath = i.target
                  bitmap.clear(); //销毁Bitmap图片  
                  uni.showToast({icon:'success',title: '保存成功',duration: 1500});
                
                //  uni.shareWithSystem({
                //      type:'image',
                //      imageUrl:_this.imagePath,
                //      success:(res)=>{
                //      // 分享完成,请注意此时不一定是成功分享
                //      },
                //      fail:(err)=>{
                //          // 分享失败
                //      }
                //  })
                
              } 
          });  
      }  
      ,function(e){  
          console.log('保存图片失败:'+JSON.stringify(e));  
      });  
  },function(e){  
      console.log('截屏绘制图片失败:'+JSON.stringify(e));  
  });  
  
  // #endif
  //currentWebview.append(amway_bit);    
},

推荐阅读更多精彩内容