3***@qq.com
3***@qq.com
  • 发布:2019-07-08 17:20
  • 更新:2019-11-08 15:58
  • 阅读:3502

使用uniapp的plus方法截屏一直提示白屏

分类:uni-app
    <view id="captureview" class="">  
    <view><button type="primary" @click="capture" :disabled="disabled">截屏</button></view>  
    <view style="width: 100%;text-align: center;">{{ result }}</view>  
    <view>  
        <image src="" mode=""></image>  
    </view>  
</view>  

//截图方法
capture: function() {
const ws = plus.webview.currentWebview();
let bitmap = new plus.nativeObj.Bitmap('captureview');
console.log(ws)
console.log(bitmap)
ws.draw(bitmap, function() {
console.log('截屏绘制图片成功');
}, function(e) {
console.log('截屏绘制图片失败:' + JSON.stringify(e));
}, {
bit:'ARGB',
check: true, // 设置为检测白屏
clip: {
top: '0px',
left: '0px',
height: '100%',
width: '100%'
} // 设置截屏区域
});
}
想做一个点按按钮就截屏的功能,可是根据文档来却一直提示截图为白屏,captureview为view的id(怀疑这里错了)

2019-07-08 17:20 负责人:无 分享
已邀请:
hhyang

hhyang - 如有问题,请添加QQ1606726660 备注付费咨询

你把这个plus.webview.currentWebview(); 改成this.$mp.page.$getAppWebview(); 试试

  • 3***@qq.com (作者)

    绘制成功了,大神绘制好的东西在哪里,是在bitmap对象吗?我是不是需要转换成base64才能显示出来

    2019-07-08 17:52

  • 3***@qq.com (作者)

    this.imgbase = bitmap.toBase64Data();使用这个直接跟我说undefined is not an object (evaluating 'this.imgbase = bitmap.toBase64Data()')是不是这里也有不同的写法,这些语法有说明的地方吗?

    2019-07-08 18:13

  • Angels_aria

    回复 3***@qq.com: 你好,你保存成功了吗

    2019-11-05 11:47

zzzzzzl

zzzzzzl

我在首页截屏,只能截到底部导航,大神们遇到过嘛

  • Angels_aria

    ID填对了吗

    2019-11-07 15:41

  • zzzzzzl

    回复 Angels_aria: var self = plus.webview.currentWebview();

    console.log(JSON.stringify(self))

    // var self = this.$mp.page.$getAppWebview();

    var bitmap = new plus.nativeObj.Bitmap(imgID); 安卓上可以绘制首页,ios只能绘制底部导航

    2019-11-08 09:14

Angels_aria

Angels_aria

@zzzzzzlin@163.com

  • zzzzzzl

    安卓可以,ios还是不行,是不是只能绘制当前窗口

    2019-11-12 10:59

  • zzzzzzl

    fileName = fileName || new Date().getTime();

    imgID = imgID || fileName;

    overwrite = overwrite || false;

    format = format || 'png';

    quality = quality || 100;

    clip = clip || {

    top: '0px',

    left: '0px',

    width: '100%',

    height: '100%'

    };

    // this.$mp.page.$getAppWebview()

    var self = plus.webview.currentWebview();

    var bitmap = new plus.nativeObj.Bitmap(imgID);

    //绘制截图

    self.draw(bitmap, function() {

    // 保存Bitmap图片


                    bitmap.save('_doc/' + fileName + '.' + format, {  
    overwrite: overwrite,
    format: format,
    quality: quality,
    clip: clip
    }, function(i) {
    //保存到系统相册
    plus.gallery.save(i.target, function(d) {
    //销毁Bitmap图片
    dataInfo.fileUrl=i.target
    bitmap.clear();
    successCB({
    success: 'success',
    details: d
    });
    }, function(e) {

    2019-11-12 10:59

该问题目前已经被锁定, 无法添加新回复