您好!大神!!!
我想通过canvas生成缩略图,但是老是只生了图片的一部份 (客户端 IPHONE7有此问题 开发者工具不会出现这个问题)
WXML
<canvas canvas-id=“shareCanvas” style=" top:-{{cavHeight}}px;left:-{{cavWidth}}px; width:{{cavWidth}}px;height:{{cavHeight}}px;background:#ccc;"></canvas>
JS
1.设置默认大小
data: {
PicUrl: “”,
cavWidth:100,
cavHeight:100,
pixelRatio: device.pixelRatio
},
2.选择图片后自动调整画布大小
wx.getImageInfo({
src: PicUrl,
success: function(res) {
console.log(res);
const ctx = wx.createCanvasContext(‘shareCanvas’)
console.log(“画布信息”);
console.log(ctx);
var cavWidth = res.width;// / device.pixelRatio;
var cavHeight = res.height;// / device.pixelRatio;
console.log(“画布宽度:”+ctx.width+“px 高度:”+ctx.height);
console.log(“图片宽度:” + res.width + “px 高度:” + res.height);
console.log(ctx);
page.setData({
cavWidth: cavWidth,
cavHeight: cavHeight
})
最终客户端只显示 了图片的一部份
就是canvas的默认值
cavWidth:100,
cavHeight:100,
而代码
page.setData({
cavWidth: cavWidth,
cavHeight: cavHeight
})
并没有生效 抓狂了,谢谢大神们指引一下