位置: IT常识 - 正文

微信小程序项目实例——我有一支画笔(画画)(微信小程序项目中app.js文件是全局样式文件)

编辑:rootadmin
微信小程序项目实例——我有一支画笔(画画) 微信小程序项目实例——我有一支画笔(画画)文章目录微信小程序项目实例——我有一支画笔(画画)一、项目展示二、首页三、自由绘图四、照片绘图文末

推荐整理分享微信小程序项目实例——我有一支画笔(画画)(微信小程序项目中app.js文件是全局样式文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信小程序项目开发实战,微信小程序项目方案,微信小程序项目代码,微信小程序项目代码,微信小程序项目中的 ______ 文件是全局配置文件,微信小程序项目中的 ______ 文件是全局配置文件,微信小程序项目方案,微信小程序项目方案,内容如对您有帮助,希望把文章链接给更多的朋友!

项目代码见文字底部,点赞关注有惊喜


一、项目展示

我有一支画笔是一款绘图小程序 用户可以在白板上自由画画,也可以选择一张本地的照片,在照片上画画 用户可以自由修改画笔宽度、颜色,同时绘画可以保存到本地

二、首页

首页由两张图片构成 代表自由绘图和照片绘图两个功能 用户点击选择不同功能

<!--index.wxml--><view class="painting" bindtap="toPainting"> <image src="../../images/paint3.png" mode="aspectFit"/></view><view class="painting2" bindtap="toPainting2"> <image src="../../images/paint2.png" mode="aspectFit"/></view>/**index.wxss**/page{ width: 100%; height: auto; display: flex; flex-direction: column; align-items: center;}.painting{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 100px; width: 260rpx; height: 260rpx; /* background-color: red; */}.painting2{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 100px; width: 260rpx; height: 260rpx; /* background-color: red; */}

首页效果如下:

三、自由绘图微信小程序项目实例——我有一支画笔(画画)(微信小程序项目中app.js文件是全局样式文件)

用户可以在空白页面上进行绘图 用户可以调整画笔粗细,画笔颜色 也可以使用橡皮擦来擦除 最后可以将画好的图保存到本地

下面仅展示UI界面代码

<!--painting.wxml--><canvas canvas-id="myCanvas" style="height: calc(100vh - {{canvasHeight}}px)" disable-scroll="true" bindtouchend="toucheEnd" bindtouchstart="touchStart" bindtouchmove="touchMove"/><view class="bottom"> <block wx:for="{{btnInfo}}" wx:key="{{index}}"> <view class="list-item" data-type="{{item.type}}" style="background: {{item.background}}" bindtap="tapBtn"></view> </block></view><view class="choose-box" wx:if="{{width}}"><view class="color-box" style="background: {{'rgb(' + r + ', ' + g + ', ' + b + ')'}}; height: {{w}}px; border-radius: {{w/2}}px"></view> <slider min="1" max="50" step="1" show-value="true" value="{{w}}" bindchange="changeWidth"/></view><view class="choose-box" wx:if="{{color}}"> <view class="color-box" style="background: {{'rgb(' + r + ', ' + g + ', ' + b + ')'}}; height: {{w}}px; border-radius: {{w/2}}px"></view> <slider min="0" max="255" step="1" show-value="true" activeColor="red" value="{{r}}" data-color="r" bindchange="changeColor"/> <slider min="0" max="255" step="1" show-value="true" activeColor="green" value="{{g}}" data-color="g" bindchange="changeColor"/> <slider min="0" max="255" step="1" show-value="true" activeColor="blue" value="{{b}}" data-color="b" bindchange="changeColor"/></view><view class="choose-box-flex" wx:if="{{clear}}"> <view class="choose-item" bindtap="chooseEraser"> <view class="choose-img" style='background: url("https://www.yuucn.com/wp-content/uploads/2023/04/1682815302-9c519718bc0e8e5.png") white no-repeat; background-size: 26px 26px;background-position: 2px 2px; border: {{eraser ? "2px solid red" : "2px solid transparent"}}'></view> <view>橡皮擦</view> </view> <view class="choose-item" bindtap="clearCanvas"> <view class="choose-img" style='background: url("https://www.yuucn.com/wp-content/uploads/2023/04/1682815310-9c519718bc0e8e5.png") white no-repeat; background-size: 26px 26px;background-position: 2px 2px;'></view> <view>清空</view> </view></view>/* painting.wxss */page { background: rgba(153, 204, 255, 0.1);}canvas { width: 100vw;}.bottom { width: 100vw; height: 50px; position: absolute; bottom: 0; display: flex; justify-content: space-around;}.list-item { width: 30px; height: 30px; margin: 10px 0; border-radius: 50%;}.choose-box { width: 100vw; position: absolute; bottom: 50px;}.color-box { width: 50vw; margin: 20px auto;}slider { margin: 20px 30px;}.choose-box-flex { display: flex; justify-content: space-around; width: 100vw; position: absolute; bottom: 50px; font-size: 16px; color: #666; text-align: center;}.choose-img { width: 30px; height: 30px; margin: 10px; border-radius: 50%; background: white;}

下面我将给大家演示一下我的室友!!! (喜欢我室友的可以私信我,送微信号!!!)

四、照片绘图

用户可以选择一张照片 在照片的基础上进行绘画 其余功能和自由绘画一致

下面仅展示UI界面代码

<!--painting-2.wxml--><canvas canvas-id="myCanvas" disable-scroll="true" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd" wx:if="{{hasChoosedImg}}" style="height: {{(canvasHeightLen == 0) ? canvasHeight : canvasHeightLen}}px; width: {{canvasWidth}}px;" /><view class="failText" wx:if="{{!hasChoosedImg}}" click="">没有选择照片,点击重新选择</view><view class="bottom"> <block wx:for="{{btnInfo}}" wx:key="{{index}}"> <view class="list-item" data-type="{{item.type}}" style="background: {{item.background}}" bindtap="tapBtn"></view> </block></view><view class="choose-box" wx:if="{{width}}"><view class="color-box" style="background: {{'rgb(' + r + ', ' + g + ', ' + b + ')'}}; height: {{w}}px; border-radius: {{w/2}}px"></view> <slider min="1" max="50" step="1" show-value="true" value="{{w}}" bindchange="changeWidth"/></view><view class="choose-box" wx:if="{{color}}"> <view class="color-box" style="background: {{'rgb(' + r + ', ' + g + ', ' + b + ')'}}; height: {{w}}px; border-radius: {{w/2}}px"></view> <slider min="0" max="255" step="1" show-value="true" activeColor="red" value="{{r}}" data-color="r" bindchange="changeColor"/> <slider min="0" max="255" step="1" show-value="true" activeColor="green" value="{{g}}" data-color="g" bindchange="changeColor"/> <slider min="0" max="255" step="1" show-value="true" activeColor="blue" value="{{b}}" data-color="b" bindchange="changeColor"/></view>/* painting-2.wxss */page { background: rgba(153, 204, 255, 0.1);}.failText { margin-top: 100px; text-align: center; color: #888;}.bottom { width: 100vw; height: 50px; position: absolute; bottom: 0; display: flex; justify-content: space-around;}.list-item { width: 30px; height: 30px; margin: 10px 0; border-radius: 50%;}.choose-box { width: 100vw; position: absolute; bottom: 50px;}.color-box { width: 50vw; margin: 20px auto;}slider { margin: 20px 30px;}.choose-box-flex { display: flex; justify-content: space-around; width: 100vw; position: absolute; bottom: 50px; font-size: 16px; color: #666; text-align: center;}.choose-img { width: 30px; height: 30px; margin: 10px; border-radius: 50%; background: white;}

下面我将画我的室友2号!! 我的室友2号是校草!!! 中意的请私信我发他微信号!

文末

具体的介绍就到这里了 小程序有时候会卡顿一下但是不多 有兴趣的同学可以继续研究 代码放到下面链接里了

点击下载 小程序

本文链接地址:https://www.jiuchutong.com/zhishi/298444.html 转载请保留说明!

上一篇:ChatGPT解开了我一直以来对自动化测试的疑惑

下一篇:vue子组件监听父组件数据变化并作出改变(亲测有效)(vue子组件监听父组件)

  • 小米mix3屏幕刷新率(小米mix3屏幕刷新率是多少赫兹)

    小米mix3屏幕刷新率(小米mix3屏幕刷新率是多少赫兹)

  • 华为手机怎么拍自己手机屏幕视频(华为手机怎么拍照效果好)

    华为手机怎么拍自己手机屏幕视频(华为手机怎么拍照效果好)

  • 美拍网络失联了怎么办(美拍打开显示网络异常)

    美拍网络失联了怎么办(美拍打开显示网络异常)

  • 电脑钉钉的缓存文件路径(电脑钉钉的缓存在哪里清除)

    电脑钉钉的缓存文件路径(电脑钉钉的缓存在哪里清除)

  • wps上下两页表格怎么合并(wps上下两页表格怎么对齐)

    wps上下两页表格怎么合并(wps上下两页表格怎么对齐)

  • 带手环可以不带手机吗(带手环可以不带手表吗)

    带手环可以不带手机吗(带手环可以不带手表吗)

  • 微信号大小写有区别吗(微信号大小写有影响吗)

    微信号大小写有区别吗(微信号大小写有影响吗)

  • b450m和b450主板区别(b450m主板哪个性价比高)

    b450m和b450主板区别(b450m主板哪个性价比高)

  • 无线能连上但是上不了网(怎么连接无线网)

    无线能连上但是上不了网(怎么连接无线网)

  • ip协议组包括什么协议(ip协议包含)

    ip协议组包括什么协议(ip协议包含)

  • aqmal00是什么型号(aqmal00是华为10s吗)

    aqmal00是什么型号(aqmal00是华为10s吗)

  • 360和365主板区别(360m和365m主板的区别)

    360和365主板区别(360m和365m主板的区别)

  • 微信有没有深色模式(微信的深色模式是什么样子)

    微信有没有深色模式(微信的深色模式是什么样子)

  • 手机倒计时怎么设置(手机倒计时怎么弄到桌面)

    手机倒计时怎么设置(手机倒计时怎么弄到桌面)

  • 手机如何设置时间(手机如何设置时间提醒功能)

    手机如何设置时间(手机如何设置时间提醒功能)

  • oppofindx支持闪充吗(oppo find x是闪充吗)

    oppofindx支持闪充吗(oppo find x是闪充吗)

  • 荣耀v20长宽高(华为荣耀v20手机多长多宽)

    荣耀v20长宽高(华为荣耀v20手机多长多宽)

  • 闲鱼怎么设置登录密码(闲鱼怎么设置登录隐藏)

    闲鱼怎么设置登录密码(闲鱼怎么设置登录隐藏)

  • 唯品会怎么申请退货(唯品会怎么申请差价)

    唯品会怎么申请退货(唯品会怎么申请差价)

  • a8x和a10谁强(a8x和a10哪个好)

    a8x和a10谁强(a8x和a10哪个好)

  • 小米9双频gps有什么用(小米双频gps要开吗费电吗)

    小米9双频gps有什么用(小米双频gps要开吗费电吗)

  • ios13怎么删除软件 (ios13彻底删除app)

    ios13怎么删除软件 (ios13彻底删除app)

  • 笔记本光标乱跳(笔记本光标乱跳不受控制)

    笔记本光标乱跳(笔记本光标乱跳不受控制)

  • LINUX怎么使用grep查询指定首尾文件内容?(Linux怎么使用Windows的软件)

    LINUX怎么使用grep查询指定首尾文件内容?(Linux怎么使用Windows的软件)

  • 安博塞利国家公园的大象,肯尼亚 (© Adam Bannister/Offset)(安博塞利国家公园狮子)

    安博塞利国家公园的大象,肯尼亚 (© Adam Bannister/Offset)(安博塞利国家公园狮子)

  • 税控盘及维护费的会计分录
  • 计入存货成本的税费
  • 暂缓收缴工会经费的请示
  • 存货占营业收入的意义
  • 关联方债务豁免需要缴纳所得税吗
  • 防雨棚设计规范
  • 一般纳税人销售使用过的固定资产
  • 股东实物分红账务怎么做
  • 个人承包承租转包转租取得的所得
  • 应付税费包括
  • 高新企业研发费用占比要求
  • 转账支票背书有时间限制吗
  • 会计科目应收账款什么意思
  • 劳务派遣简易征收备案
  • 雇主责任险税前列支
  • 工程个人所得税扣除标准是多少
  • 建筑业增值税普通发票可以抵扣吗
  • mac 的系统
  • 开电脑店几年搞活动好吗
  • 利润分配属于什么科目
  • 实收资本或股本的账务处理
  • 银行哪些进项税不用抵扣
  • 关闭bios启动
  • 安全生产责任险保障范围
  • 企业所得税季度预缴纳税申报表
  • 公积金贷款所需手续
  • 哪个光圈值最大
  • 亚运村夜宵地方
  • php批量处理数据
  • 半球形的谢尔亨里克森天文台,挪威斯瓦尔巴群岛 (© Vincent Fournier/Gallery Stock)
  • mysql框架有哪些
  • 无形资产属于哪一类
  • linux如何使用
  • 专项应付款能转回来吗
  • 公司组织员工旅游费可以在税前扣除吗
  • 待摊费用的明细
  • 收到合同预付款怎么处理
  • 塔吊租赁人工合同
  • 如何根据销售额的降序计算销售排名
  • sql server 2008 安装 1935
  • 报销差旅费的进项税额
  • 减免的企业所得税怎么做账
  • 管理费用明细科目大全
  • 存款利息收入应计入收入总额吗
  • 残保金如何做会计分录
  • 软件公司会计科目
  • 盈余公积分配现金股利分录
  • 普通发票税费会计分录
  • 固定资产暂估折旧怎么算
  • 固定资产抵扣进项税额最新规定
  • 小规模企业自开收购牛发票增值税怎样申报
  • 固定资产出售账面价值计入什么科目
  • 技术服务所发生的事故
  • 民办非企业单位什么意思
  • 一般纳税人的进项税额可以抵扣吗
  • 工程结束发票未开全怎么办
  • 可转换债券是什么资本
  • 在sqlserver数据库中,执行sql语句
  • Sqlserver timestamp数据类使用介绍
  • win10隐藏文件怎么隐藏
  • Windows Server 2016技术第三预览版10537英文版ISO镜像下载泄露
  • window10收藏夹怎么导出
  • win8.1技巧
  • linux定时删除2天前的文件输出日志
  • itunes清理iphone垃圾
  • win7控制面板找不到windows update
  • 5个小技巧让你成长
  • windows 10预览版
  • 简单掌握办公软件怎么写
  • unity基础包
  • javascript的理解
  • shell字符串操作
  • regedit.exe
  • listview控件设置多个列
  • 批量 update
  • 安卓抽象类
  • 江苏省国家税务局官网
  • 税务退休工资
  • 江西省国家税务局发票查询
  • 北京地税查询官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设