- 发布:2019-07-09 10:36
- 更新:2019-07-09 17:32
- 阅读:1222
新生代吗喽 (作者) - 码农
贴一下源码吧,还是不能截取某块区域,设置clip也无效,望大神指点
captureWebview() {
// #ifdef APP-PLUS
const ws = this.$mp.page.$getAppWebview();
// 这一步很重要,刚还是一直使用plus.webview.currentWebview()获取当前屏幕,一直白屏,看到这里
// (https://uniapp.dcloud.io/api/window/window?id=getappwebview) 才明白过来
const bitmap = new plus.nativeObj.Bitmap(Date.parse(new Date()));
const fileName = Date.parse(new Date());
// 将webview内容绘制到Bitmap对象中
ws.draw(
bitmap,
function() {
bitmap.save(
'_doc/poster' + fileName + '.' + 'jpg',
{ overwrite: false, format: 'jpg', quality: 50},
function(i) {
uni.saveImageToPhotosAlbum({
filePath: i.target,
success: function() {
uni.showToast({
title: '图片保存成功',
icon: 'none'
});
}
});
},
function(e) {
bitmap.clear();
errorCB({ error: '图片保存失败', details: e });
}
);
},
function(e) {
console.log('截屏绘制图片失败:' + JSON.stringify(e));
},
{
check: true, // 设置为检测白屏
clip: { top:'50px',left:'0px',width:'100%',height:'100%' } // 设置截屏区域
}
);
// #endif
}
新生代吗喽 (作者)
谢谢,看到了这个new plus.nativeObj.Bitmap('test'); 应该可以
2019-07-09 11:06
回梦無痕
回复 新生代吗喽: plusAPI截图应该是截取当前webview的,貌似没有办法截取其中一部分的。
2019-07-09 13:42