微信小程序点击保存图片到本机功能
更新时间:2019年12月13日 10:36:03 作者:前端_李嘉豪
这篇文章主要介绍了微信小程序点击保存图片到本机功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

1.首先我们要把想保存的图片绘制在画布上
<view class='container'>
<canvas style='width:{{canvasWidth}}px; height:{{canvasHeight}}px' class="canvas" id="canvas" canvas-id="canvas" disable-scroll="true">
</canvas>
<button bindtap='clickMe'>保存图片</button>
</view>
2.我们在看看看js代码在用wx.canvasToTempFilePath方法会返回一个tempFilePath图片路径
// canvas 全局配置
var context = null;
var rpx
var posterHeight = 0
var posterWidth = 0
var avatarPadding = 0 //距离边界
var avatarRadiu = 0 //头像半径
var textScale = 0 //文字比例
//注册页面
Page({
data: {
img: "../../images/img1.jpg",
myCanvasWidth: 0,
myCanvasHeight: 0,
posterHeight: 0,
},
onLoad: function (options) {
var that = this
var myCanvasWidth = that.data.myCanvasWidth //为了让图片满铺页面
var myCanvasHeight = that.data.canvasHeight
context = wx.createCanvasContext('canvas');
wx.getSystemInfo({
success: function (res) {
myCanvasWidth = res.screenWidth
myCanvasHeight = res.screenHeight
posterWidth = Math.round(res.screenWidth * 0.68) //计算让画布图片自适应
posterHeight = Math.round(posterWidth * 1920 / 1080)
avatarPadding = Math.round(posterWidth * 20 / 375)
avatarRadiu = Math.round(posterWidth * 25 / 375)
textScale = Math.round(posterWidth / 375)
rpx = res.windowWidth / 375;
that.setData({
myCanvasWidth: myCanvasWidth,
myCanvasHeight: myCanvasHeight,
posterHeight: posterHeight
})
context.drawImage(that.data.img, 0, 0, that.data.myCanvasWidth, that.data.myCanvasHeight); //画布绘制图片
context.draw();
},
})
},
clickMe: function () { //保存图片
wx.canvasToTempFilePath({
canvasId: 'canvas',
fileType: 'jpg',
success: function (res) {
console.log(res)
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success(res) {
console.log(res)
wx.hideLoading();
wx.showToast({
title: '保存成功',
});
// //存入服务器
// wx.uploadFile({
// url: 'a.php', //接口地址
// filePath: res.tempFilePath,
// name: 'file',
// formData: { //HTTP 请求中其他额外的 form data
// 'user': 'test'
// },
// success: function (res) {
// console.log(res);
// },
// fail: function (res) {
// console.log(res);
// },
// complete: function (res) {
// }
// });
},
fail() {
wx.hideLoading()
}
})
}
})
},
})
3,css样式 直接给画布设置高度宽度就可以 图片会铺满屏幕
总结
以上所述是小编给大家介绍的微信小程序点击保存图片到本机功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关文章
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
这篇文章主要介绍了JavaScript设计模式--简单工厂模式,结合实例形式分析了JavaScript设计模式中简单工厂模式原理与XHR工厂应用案例,需要的朋友可以参考下2020-05-05
js报错 Object doesn''t support this property or method的原因分析
运行js是出现Object doesn't support this property or method 错误的可能原因分析。2011-03-03


最新评论