微信小程序 绘图 canvas
来源:互联网 发布:java文件上传 编辑:程序博客网 时间:2024/06/07 15:56
<canvas class="canvas" id="canvas" canvas-id="canvas" disable-scroll="true" bindtouchstart="canvasStart" bindtouchmove="canvasMove" bindtouchend="canvasEnd" touchcancel="canvasEnd" binderror="canvasIdErrorCallback"></canvas><button type="default" bindtap="cleardraw">清除画布</button><button type="default" bindtap="getimg">导出图片</button>
Page { background: #cfeeff; } .canvas{ width: 100%; height: 680rpx;}
{ "navigationBarTitleText": "画板", "navigationBarBackgroundColor": "#eee200"}
// canvas 全局配置var context = null;// 使用 wx.createContext 获取绘图上下文 contextvar isButtonDown = false;var arrx = [];var arry = [];var arrz = [];var canvasw = 0;var canvash = 0;//获取系统信息wx.getSystemInfo({ success: function (res) { canvasw = res.windowWidth;//设备宽度 canvash = res.windowHeight; }});//注册页面Page({ canvasIdErrorCallback: function (e) { console.error(e.detail.errMsg) }, canvasStart: function (event) { isButtonDown = true; arrz.push(0); arrx.push(event.changedTouches[0].x); arry.push(event.changedTouches[0].y); //context.moveTo(event.changedTouches[0].x, event.changedTouches[0].y); }, canvasMove: function (event) { if (isButtonDown) { arrz.push(1); arrx.push(event.changedTouches[0].x); arry.push(event.changedTouches[0].y); // context.lineTo(event.changedTouches[0].x, event.changedTouches[0].y); // context.stroke(); // context.draw() }; for (var i = 0; i < arrx.length; i++) { if (arrz[i] == 0) { context.moveTo(arrx[i], arry[i]) } else { context.lineTo(arrx[i], arry[i]) }; }; context.clearRect(0, 0, canvasw, canvash); context.stroke(); context.draw(true); }, canvasEnd: function (event) { isButtonDown = false; }, cleardraw: function () { //清除画布 arrx = []; arry = []; arrz = []; context.clearRect(0, 0, canvasw, canvash); context.draw(true); }, getimg: function () { if (arrx.length == 0) { wx.showModal({ title: '提示', content: '签名内容不能为空!', showCancel: false }); return false; }; //生成图片 wx.canvasToTempFilePath({ canvasId: 'canvas', success: function (res) { console.log(res.tempFilePath); //存入服务器 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) { } }); } }) }, /** * 页面的初始数据 */ data: { src: "" }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { // 使用 wx.createContext 获取绘图上下文 context context = wx.createCanvasContext('canvas'); context.beginPath() context.setStrokeStyle('#ffff00'); context.setLineWidth(10); context.setLineCap('round'); context.setLineJoin('round'); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }})
阅读全文
1 0
- 微信小程序 绘图 canvas
- Canvas绘图
- Canvas绘图
- canvas绘图
- 微信小程序 canvas API
- 【canvas】Android Canvas绘图详解
- SWT的Canvas绘图
- SWT之Canvas绘图
- canvas 绘图总结
- android 绘图 Canvas
- Canvas绘图学习
- canvas 绘图的步骤
- Android Canvas绘图
- Andorid绘图Canvas
- HTML5-Canvas绘图
- html5-Canvas绘图
- Canvas绘图android机器人
- Android--使用Canvas绘图
- make: *** [ext/phar/phar.php] Error 127
- MySQL错误 ERROR 2006 (HY000): MySQL server has gone away
- 迭代器与生成器
- 什么是xss盲打
- css3-Media Query实现最简单的响应式布局
- 微信小程序 绘图 canvas
- verilog错误整理
- 炸弹人(广度优先搜索)
- 编程基础刷题(一)
- vim
- 设计模式--设计原则
- 杭电ACM 2003(求绝对值)c++
- 课本案例--装备选择
- hdoj 1050