可以先把需要涂鸦的保存在相册,再打开相应的APP(比如天天P图),会出现一个界面,选择美化一项,它会跳转到你的相册,选择需要涂鸦的并打开,再选择“涂鸦”,挑选喜欢的花纹样式和线条颜色后,就可以随意涂鸦啦!
这篇文章主要介绍了微信小程序实现的涂鸦功能,涉及微信小程序事件响应及画笔的相关操作技巧,并附带源码供读者下载参考,需要的朋友可以参考下
本文实例讲述了微信小程序实现的涂鸦功能。分享给大家供大家参考,具体如下:
先来看看运行效果:
布局文件indexwxml:
<view class="container">
<!--画布区域-->
<view class="canvas_area">
<!--注意:同一页面中的 canvas-id 不可重复,如果使用一个已经出现过的 canvas-id,该 canvas 标签对应的画布将被隐藏并不再正常工作-->
<canvas canvas-id="myCanvas" class="myCanvas"
disable-scroll="false"
bindtouchstart="touchStart"
bindtouchmove="touchMove"
bindtouchend="touchEnd">
</canvas>
</view>
<!--画布工具区域-->
<view class="canvas_tools">
<view class="box box1" bindtap="penSelect" data-param="5"></view>
<view class="box box2" bindtap="penSelect" data-param="15"></view>
<view class="box box3" bindtap="colorSelect" data-param="#cc0033"></view>
<view class="box box4" bindtap="colorSelect" data-param="#ff9900"></view>
<view class="box box5" bindtap="clearCanvas"></view>
</view>
</view>逻辑功能文件indexjs:
Page({
data:{
pen : 3, //画笔粗细默认值
color : '#cc0033' //画笔颜色默认值
},
startX: 0, //保存X坐标轴变量
startY: 0, //保存X坐标轴变量
isClear : false, //是否启用橡皮擦标记
//手指触摸动作开始
touchStart: function (e) {
//得到触摸点的坐标
thisstartX = echangedTouches[0]x
thisstartY = echangedTouches[0]y
thiscontext = wxcreateContext()
if(thisisClear){ //判断是否启用的橡皮擦功能 ture表示清除 false表示画画
thiscontextsetStrokeStyle('#F8F8F8') //设置线条样式 此处设置为画布的背景颜色 橡皮擦原理就是:利用擦过的地方被填充为画布的背景颜色一致 从而达到橡皮擦的效果
thiscontextsetLineCap('round') //设置线条端点的样式
thiscontextsetLineJoin('round') //设置两线相交处的样式
thiscontextsetLineWidth(20) //设置线条宽度
thiscontextsave(); //保存当前坐标轴的缩放、旋转、平移信息
thiscontextbeginPath() //开始一个路径
thiscontextarc(thisstartX,thisstartY,5,0,2MathPI,true); //添加一个弧形路径到当前路径,顺时针绘制 这里总共画了360度 也就是一个圆形
thiscontextfill(); //对当前路径进行填充
thiscontextrestore(); //恢复之前保存过的坐标轴的缩放、旋转、平移信息
}else{
thiscontextsetStrokeStyle(thisdatacolor)
thiscontextsetLineWidth(thisdatapen)
thiscontextsetLineCap('round') // 让线条圆润
thiscontextbeginPath()
}
},
//手指触摸后移动
touchMove: function (e) {
var startX1 = echangedTouches[0]x
var startY1 = echangedTouches[0]y
if(thisisClear){ //判断是否启用的橡皮擦功能 ture表示清除 false表示画画
thiscontextsave(); //保存当前坐标轴的缩放、旋转、平移信息
thiscontextmoveTo(thisstartX,thisstartY); //把路径移动到画布中的指定点,但不创建线条
thiscontextlineTo(startX1,startY1); //添加一个新点,然后在画布中创建从该点到最后指定点的线条
thiscontextstroke(); //对当前路径进行描边
thiscontextrestore() //恢复之前保存过的坐标轴的缩放、旋转、平移信息
thisstartX = startX1;
thisstartY = startY1;
}else{
thiscontextmoveTo(thisstartX, thisstartY)
thiscontextlineTo(startX1, startY1)
thiscontextstroke()
thisstartX = startX1;
thisstartY = startY1;
}
//只是一个记录方法调用的容器,用于生成记录绘制行为的actions数组。context跟<canvas/>不存在对应关系,一个context生成画布的绘制动作数组可以应用于多个<canvas/>
wxdrawCanvas({
canvasId: 'myCanvas',
reserve: true,
actions: thiscontextgetActions() // 获取绘图动作数组
})
},
//手指触摸动作结束
touchEnd: function () {
},
//启动橡皮擦方法
clearCanvas: function(){
if(thisisClear){
thisisClear = false;
}else{
thisisClear = true;
}
},
penSelect: function(e){ //更改画笔大小的方法
consolelog(ecurrentTarget);
thissetData({pen:parseInt(ecurrentTargetdatasetparam)});
thisisClear = false;
},
colorSelect: function(e){ //更改画笔颜色的方法
consolelog(ecurrentTarget);
thissetData({color:ecurrentTargetdatasetparam});
thisisClear = false;
}
})上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
有关jquery自动加载数据的方法
有关ajax在jquery中的请求(详细教程)
在JavaScript中有关EventLoop问题
在element中有关vue表单验证问题
vue2x中放大镜插件如何使用?
1、在待机页面点击“应用程序”。
2、登录微信60。
3、随便选择一个微信好友。
4将S Pen悬浮在输入信息栏上方,点击“手写输入”图标。 (注:此功能需开启随笔输入,开启方法:设定-S Pen-随笔输入-开启即可)。
5、点击绘画模式,进入绘画界面。
6、绘画完成之后,点击完成图标。
7、等到屏幕出现如下提示,点击“确定”我们就可以把刚才画好的涂鸦发送给指定的好友。
ps怎么设计一款漂亮的涂鸦字体
1、首先在纸上画草稿,(当然方法很多,这是我自己的方法)这样效率会更高一
2、画一个矩形框,当做字体大小标准背景,降低透明度锁定
3、运用钢笔工具绘制
4、在过程中修改细节,完成后看看效果,按照你满意的程度调整就好啦
5、搭配
6、接下来我们直接ctrl+C复制到ps当中处理一些效果,添加一些简单的纹理
7、首先添加一点点浮雕的效果
手绘涂鸦字体怎么画啊掌握了字体的结构,按结构就可以一笔把字的外框画出来,就是常说的空心字,也是POP字体中软体字的一种,刚开始也许有点困难,先把字写出来描外框多练练,以后再白纸上就可以写出空心字来了,其他写法雷同,线条组织好了变化会有很多
微信中字体怎么涂鸦可以通过美图秀秀修改。美图秀秀有手机版、电脑版和网页版,步骤相似,以美图秀秀网页版为例,
1__打开美图秀秀网页版。
2__点击“打开一张”。
3__在“美化”点击“文字”。
4__输入文字后,点击“应用文字”。文字就出现在上了,调整文字的位置、大小、颜色等样式后,点击分享并保存即可。
5__计⑺偷绞只,就可以在手机微信上进行上传了。
欢迎分享,转载请注明来源:品搜搜测评网