VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

使用applet canvas编写一个简单的图片应用程序(applet canvas生成海报)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

小程序开发教程专栏介绍了使用canvas编写图片

使用applet canvas编写一个简单的图片应用程序(applet canvas生成海报)

推荐(免费):小程序开发教程

应用程序显示

截图57f2c668df20fbe5ac3c296636fdfeb.png

要求

既然是小应用,就希望最终产品有适用场景,有价值。

需求来源

这种应用需求的启发在以往的工作和生活中,我们经常会在不经意间得到同事的美照。这时候我们要把这张照片做成表情包,一般给图片加上几句说明性的话,一个有趣的交流工具(表情包)就完成了。

基于上述需求的需求分析可以拆解出需要应用的功能。

用户需要上传一张图片,可以添加文字,可以调整样式并旋转和缩放。此外,我们希望插入一些地图,您可以旋转和缩放,并且用户可以将图片导出到相册中。

https://github.com/luosijie/f github仓库...

如果你喜欢我的项目,欢迎给一颗星以鼓励这个应用程序是用小程序开发的。

使用框架:mpx使用技术:applet画布状态管理

从“@ mpxjs/core”const store = createstore({ state:{ cavas:null,//cnavas实例ctx: null,// canvas上下文实例elements:【】,// canvas元素activeIndex: null,//当前编辑元素索引模式:“背景”,//当前编辑模式:背景,文本,贴纸字体样式:{//文本默认样式不透明度:1,Fillstyle:“# 000000”,笔画样式:“# 00000”} } },突变:{ set canvas(state,data){ state . can data){ state . mode = data },setActiveIndex(state,data){ state . activeindex = data },setfont style(state,{ key,data }){ state . font style【key】= data },//Add text Add text(state){ const size = 50 const string =‘Please enter text‘const text = { type:‘text‘,data: string,scale: 1,size,left: 100,top: 100, 元素=【】状态。Active index = null}})导出默认商店画布初始化。

//初始化画布asyncinitcanvas(){ const query = this。CreateSelectorQuery()查询。选择(# canvas)。字段({node: true,size: true})。exec(async RES =》{ const canvas = RES【0】。node const CTX = canvas . get context(‘2d’)store . commit(‘set canvas’,canvas)store . commit(‘set CTX’,CTX)wait this . load image(‘images/icon -rotate . png’)。然后(res = & gt{这个。形象。rotate = res})画布。width = RES【0】。宽度*这个。DPR画布。高度= RES【0】。身高*这个。DPR·CTX。规模(这个。DPR这是。DPR)这个。Draw grid()} }画一幅画。

/* * *绘制图片* @ param { Object } ele canvas element */Draw image(ele){ this . CTX . save()。const width = ele . width const height = ele . height const centerX = ele . left+ele . width/2 const centerY = ele . top+ele . height/2 this . CTX . translate(center x,centerY)this . CTX . rotate(ele . rotate)this . CTX . draw image(ele . data,ele.left-centerx,ele.top-centery,width,height)this . CTX

/* * * Draw text * @ param { Object } ele canvas element */Draw text(ele){ this . CTX . save()const width = ele . size * ele . data . length const height = ele . size const centerX = ele . left+width/2 const centerY = ele . top+height/2 this . CTX . translate(centerX,centerY)this . CTX . rotate(ele . CTX . font = ` $ { ele . size

init controller(ele){ const cs = this . convert 2 controller size(ele)this . CTX . save()this . CTX . stroke style =‘# eee‘this . CTX . translate(cs . centerx,cs . centery)this . CTX . rotate(cs . rotate )//绘制虚线边框this . CTX . setline dash(【10,5】,5)thi

//画布渲染函数render canvas(){ this . CTX . clear rect(0,0,this.ctx.canvas.width,this . CTX . canvas . height)this . draw grid(‘draw -background‘,this . background)if(this . background)this . draw image(this . background)for(让I = 0;我& ltp & gt& ltstrong & gt事件监督

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:使用applet canvas编写一个简单的图片应用程序(applet canvas生成海报) https://zhujicankao.com/118835.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 使用applet canvas编写一个简单的图片应用程序(applet canvas生成海报)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!