小程序canvasToTempFilePath获取的图片地址在真机不显示???
⼩程序canvasToTempFilePath获取的图⽚地址在真机不显⽰
⼩程序canvasToTempFilePath获取的图⽚地址在真机不显⽰
把当前画布指定区域的内容导出⽣成指定⼤⼩的图⽚。但是直接在真机使⽤⽣成的图⽚地址时发现图⽚⽆法显⽰,这是为啥⼦呢请看下⾯的图⽚。
如何构建和谐社会
开发⼯具测试图:
真机测试图:
重点来了
使⽤获取 canvas 区域隐含的像素数据。然后将获取的像素数据通过 转成base64就可以直接在真机上使⽤了,各位⼩伙伴可以参照下⾯的代码实现哦。
<view class="container">
<canvas class="myCanvas"canvas-id="firstCanvas"></canvas>
<text class="text">{{img}}</text>
<!-- 如果要在真机打印或者在text中显⽰canvasToTempFilePath获取到的地址请注释掉下⾯这⼀句,不然你啥都看不到 --> <image class="img"src="{{img}}"></image>
</view>
注意!!:必须有UPNG.js,
//index.js
//获取应⽤实例
var upng =require('../../utils/UPNG.js');
const app =getApp();
Page({2021年立秋几点
data:{
img:''
},
onLoad:function(){
},
canvasIdErrorCallback:function(e){
<(Msg)
},好想听你说
onReady:function(e){
// 使⽤ wx.createContext 获取绘图上下⽂ context
var context = wx.createCanvasContext('firstCanvas');
const platform = wx.getSystemInfoSync().platform;
const that=this;
context.setStrokeStyle("#333333");
context.setFillStyle("#FFFF00");
//  绘制⼤圆脸
context.arc(150,100,60,0,2* Math.PI,true);
context.fill();
网络流行歌曲/
/ 绘制嘴巴
context.arc(150,100,40,0, Math.PI,false);
context.stroke();
// 绘制左眼
好段大全
context.arc(120,80,5,0,2* Math.PI,true);
context.stroke();
// 绘制右眼
context.arc(180,80,5,0,2* Math.PI,true);
context.stroke();
context.draw();
setTimeout(function(){
wx.canvasGetImageData({
canvasId:'firstCanvas',
x:0,
y:0,
width:250,
height:250,
success(res){
// console.log(res)
let pngData = de([res.data.buffer], res.width, res.height);
let bs64 = wx.arrayBufferToBase64(pngData);          that.setData({
img:'data:image/jgp;base64,'+ bs64
},()=>{
console.log(that.data.img)
})
// console.log(bs64)
}
})
// wx.canvasToTempFilePath({
//  canvasId:'firstCanvas',
/
/  success(res){
//    console.pFilePath)
//    that.setData({
//      img: pFilePath
//    },()=>{
//      console.pFilePath)
//    })
//  }
// })
})
}
})会计学专业学什么

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。