项目中需要使用到截屏的功能,但是官方的的给出的截图好像只能截取某个webview官方截图api文档 但是在某些需求中要求只截取某一部分而不是整个屏幕 或者说只截取某个div里面的内容 解决思路来了:首选通过js截取到某个div 或者任何一个标签包含的内容:html2canvas 然后把截取到的转换为Data格式,再利用官方的Bitmap对象保存在本地或者做其它的操作
//生成base64图片数据
var dataUrl = canvas.toDataURL();
// console.log(dataUrl); 这里千万不要像这样打印出来否则HBuilder会报错的 可能输出的内容太多了吧
var b=new plus.nativeObj.Bitmap();
b.loadBase64Data(dataUrl,function(){
console.log("创建成功");
},function(){
console.log("创建失败");
});
b.save('_www/img1.jpg',{overwrite:true},function(){
console.log("保存成功");
},function(){
console.log("保存失败");
});
plus.gallery.save( '_www/img1.jpg', function () {
console.log( "保存图片到相册成功" );
},function(){
console.log( "保存图片到相册失败" );
完整项目demo: