登录
注册
模板
购买
商业授权
主机域名
专业授权
易优代理
外贸站
应用
源码
插件
问答
帮助
视频教程
易优技巧
常见问题
易优手册
标签工具
更多
小程序
组件库
案例库
小程序模板网
首页
小程序模板网
开发文档
小程序开发教程
正文
微信小程序--绘图canvas
发布时间:2017-12-19 10:34
所属栏目:
小程序开发教程
[html]
view plain
copy
<
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
>
[css]
view plain
copy
Page {
background
:
#cfeeff
;
}
.canvas{
width
:
100%
;
height
:
680
rpx;
}
[plain]
view plain
copy
{
"navigationBarTitleText": "画板",
"navigationBarBackgroundColor": "#eee200"
}
[javascript]
view plain
copy
// canvas 全局配置
var
context =
null
;
// 使用 wx.createContext 获取绘图上下文 context
var
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
() {
}
})
易优小程序(企业版)+灵活api+前后代码开源
码云仓库:
本文地址:https://www.eyoucms.com/wxmini/doc/course/18206.html
复制链接
如需定制请联系易优客服咨询:800182392
点击咨询
热门问题
最新问题
1
微信小程序自定义组件 - 表格组件来啦
2
微信小程序自定义navigationBar顶部导航栏,兼容适配所有机型(附完整案例)
3
手机界面设计尺寸规范
4
小程序-记牌器
5
微信小程序app.json文件常用配置说明
6
微信小程序获得session_key和openId(加解密、签名系列)
7
微信小程序|实现界面滑动切换
8
小程序登录的最优流程
9
微信小程序尺寸单位rpx和样式使用详解
10
微信小程序-scroll-view滚动到指定位置(类似锚点)
1
微信小程序app.json文件常用配置说明
2
微信小程序文字控制单行超过显示省略号
3
微信小程序参数传递的几种方法
4
微信小程序使用button按钮分享
5
微信小程序的setData
6
小程序分享,获取openid
7
微信小程序-实现tab
8
微信开发者工具新建和导入小程序
9
微信小程序实现点击拍照长按录像功能
10
微信小程序必知知识
产品
商业授权
开通会员
易优代理
推荐主机
服务
更新日志
用户案例
加入Q群
增值服务
帮助
易优问答
标签手册
易优技巧
功能字典
关于
关于易优
知识产权
版权声明
隐私协议
工作日 8:30-12:00 14:30-18:00
周六及部分节假日提供值班服务
联系我们
QQ在线咨询
业务客服
付费修改
加入Q群
微信客服
工作日 8:30-12:00 14:30-18:30