微信小程序canvas 图片绘制

看其他人写的代码出现的其中的imageResource的路径是网络路径,

这个在手机端预览是有问题的图片是需要下载的

  onShow: function () {
const that = this;
wx.downloadFile({
url: that.data.img,
success: function (res) {
console.log(res);
that.data.img = res.tempFilePath
}, fail: function (fres) {

}
})
},

canvasContext.drawImage

定义

绘制图像到画布。

参数

参数类型说明
imageResourceString所要绘制的图片资源
dxNumber图像的左上角在目标canvas上 X 轴的位置
dyNumber图像的左上角在目标canvas上 Y 轴的位置
dWidthNumber在目标画布上绘制图像的宽度,允许对绘制的图像进行缩放
dHeigtNumber在目标画布上绘制图像的高度,允许对绘制的图像进行缩放
sxNumber源图像的矩形选择框的左上角 X 坐标
syNumber源图像的矩形选择框的左上角 Y 坐标
sWidthNumber源图像的矩形选择框的高度
sHeightNumber源图像的矩形选择框的高度

有三个版本的写法:

  • drawImage(dx, dy)
  • drawImage(dx, dy, dWidth, dHeight)
  • drawImage(sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持

图片绘制,遇到的问题使用网络路径,图片电脑端可以访问,但是手机端却不可以。
console.log(name)
var that = this;
var context = wx.createCanvasContext( 'mycanvas');
var path = img;
//这个地方的图片是需要注意,图片需要下载不然,手机上不能正常显示
context.drawImage(path, 0, 0, 686, 686)
wenzi(context,name);
//绘制图片
context.draw();
//将生成好的图片保存到本地,需要延迟一会,绘制期间耗时
setTimeout( function () {
wx.canvasToTempFilePath({
canvasId: 'mycanvas',
success: function (res) {
var tempFilePath = res.tempFilePath;
console.log(tempFilePath);
wx.setStorageSync( 'img', tempFilePath)
return tempFilePath
},
fail: function (res) {
console.log(res);
}
});
}, 200);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值