详细问题描述
现在要做一个截图保存到本地的功能,在普通h5+环境下没有问题,可以截图,但是在uni模式下截图出来的是一片黑色。
[内容]
重现步骤
[步骤]
直接运行,点击屏幕就可以重现bug。
[结果]
uni环境下一片空白
[期望]
uni环境下能正常截图
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
使用HbuildX
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
app环境
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
使用HbuildX直接创建的
[编译模式是老模板模式还是新的自定义组件模式?]
自定义组件模式
附件
[可重现代码片段]
<template>
<view class="content" @tap="jietu()">
<image class="logo" :src="title"></image>
<image src="../../static/logo.png" mode=""></image>
</view>
</template>
<script>
export default {
data() {
return {
title: '' //图片base64码,用来回显
};
},
onShow() {
},
methods: {
jietu:function(){
var that=this
var self = plus.webview.currentWebview();
var bitmap = new plus.nativeObj.Bitmap('test');
//绘制截图
self.draw(
bitmap,
function() {
// 保存Bitmap图片
console.log('绘制成功');
console.log(that.title=bitmap.toBase64Data())
bitmap.save(
'_doc/sh.jpg',
{},
function(i) {
console.log('保存成功');
//保存到系统相册
plus.gallery.save(
i.target,
function(d) {
//销毁Bitmap图片
bitmap.clear();
console.log('ok');
},
function(e) {
//销毁Bitmap图片
bitmap.clear();
console.log('no');
}
);
},
function(e) {
bitmap.clear();
console.log('保存失败');
}
);
},
function(e) {
console.log('绘制失败');
}
);
}
}
};
</script>
<style>
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.logo {
height: 200rpx;
width: 200rpx;
margin-top: 200rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 50rpx;
}
.text-area {
display: flex;
justify-content: center;
}
.title {
font-size: 36rpx;
color: #8f8f94;
}
</style>
联系方式
[QQ]1076454380
0 个回复