小程序canvas绘制渐变色(简单入门)
呀,曾经的我是那么的单纯,天真,粗略的翻了一遍小程序画布API,没有看见渐变色,就以为不支持渐变色
于是在项目中直接把原本的渐变色换成了单一颜色展示,发现很low啊
但是,自从上次小程序API文档更新了以后,我突然看见了设置渐变色的api,以为是小程序开窍了,决定支持渐变色的使用了
哎呀,于是就去测试,但是尴尬的发现没有例子并不会食用,就只能去万能的社区百度了呗
emmm这一百度才发现,原理渐变色早就有了吗!(原来单纯的只是我眼瞎)
好吧,然后跟着社区前辈的经验一点一点摸索,也算是大概知道这东西该怎么使用了
下面说步骤:
1. 创建绘图上下文(就无耻的借用官方的啦)
var ctx = wx.createCanvasContext('firstCanvas')
2. 创建渐变色(重点来了)
let grd = ctx.createLinearGradient(0, 200, 0, 260)
这里解释一下:createLinearGradient()绘制的渐变色的起始坐标并不是画布的原点...而是你想要填充的起点坐标
观众:请说人话!谢谢
说的通俗一点,就是你想要在画布的那一块区域使用这个渐变色,那么那块区域的其中一个顶点,就是你绘制渐变色的起点(终点)
比如说下面的案例:
grd.addColorStop(0, 'rgba(255, 255, 255, 0)')
grd.addColorStop(1, 'rgba(0, 255, 0, 0.2)') ctx.setFillStyle(grd)
ctx.fillRect(0, 200, 260, 60)
ctx.draw()
addColorStop()就先不说了,看下面的fillRect()是创建一个矩形区域,那么很明显我的渐变色是要用在这个区域里面的
那么渐变色的起点(终点)就很明显了,这里我是将起点设置在(0,200)这个位置,刚好就是矩形区域的左上角顶点,
终点是(0,260),是矩形区域的左下顶点,那么展示的效果大概就是这样子了:
  
一个从上到下的渐变色,就这样实现了(鼓掌,鼓掌!)
小程序canvas绘制渐变色(简单入门)的更多相关文章
- 微信小程序-canvas绘制文字实现自动换行
		
在使用微信小程序canvas绘制文字时,时常会遇到这样的问题:因为canvasContext.fillText参数为 我们只能设置文本的最大宽度,这就产生一定的了问题.如果我们绘制的文本长度不确定或者 ...
 - 小程序canvas绘制纯色圆角区域 setdata数组某一项
		
小程序canvas绘制纯色圆角区域: //方法: roundRectPath:function(ctx, x, y, w, h, r) { ctx.beginPath(); ctx.moveTo(x ...
 - 小程序canvas绘制base64数据格式图片
		
翻了微信小程序官方文档,看了看画板drawImage的用法,官方对所要绘制的图片资源路径并没有很详细,模棱两可,没说支持什么格式的路径.今天我就试一下支不支持base64格式的图片 随便找张图片从网上 ...
 - 微信小程序 canvas 绘制圆形状
		
page({ // 绘制canvas drawCanvas:function(){ const ctx = wx.createCanvasContext('poster') // 画圆形二维码 thi ...
 - 小程序canvas绘制倒计时
		
如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 效果展示: //广告倒计时 advTimeCountDown:function(advTime ...
 - 小程序Canvas性能优化实战
		
以下内容转载自totoro的文章<小程序Canvas性能优化实战!> 作者:totoro 链接:https://blog.totoroxiao.com/canvas-perf-mini/ ...
 - 技术博客--微信小程序canvas实现图片编辑
		
技术博客--微信小程序canvas实现图片编辑 我们的这个小程序不仅仅是想给用户提供一个保存和查找的平台,还希望能给用户一个展示自己创意的舞台,因此我们实现了图片的编辑部分.我们对对图片的编辑集成了很 ...
 - 微信小程序 canvas 字体自动换行(支持换行符)
		
微信小程序 canvas 自动适配 自动换行,保存图片分享到朋友圈 https://github.com/richard1015/News 微信IDE演示代码https://developers.w ...
 - 微信小程序--canvas画布实现图片的编辑
		
技术:微信小程序 概述 上传图片,编辑图片大小,添加文字,改变文字颜色等 详细 代码下载:http://www.demodashi.com/demo/14789.html 概述 微信小程序--ca ...
 
随机推荐
- python-给微信好友自动发送天气预报和每日一句
			
周末在宿舍学习python,女朋友那突然下了倾盆大雨,在图书馆门口跟我抱怨好久.最近又在学习python,就想给女朋友写个小程序,每天早上将每天的天气预报通过微信发个她. 在本程序中,用到了几个重要的 ...
 - MAIL服务器搭建
			
一,邮件服务: 优 点 缺 点 应 用 sendmail 有点年代久远,稳定功能多 太过于臃肿,配置文件多且繁琐 6以前默认 postfix 优点更稳定,且交轻便 发布年限较短,市场占有率低 ...
 - frist Django app — 四、 完善View
			
上一篇已经完成了polls的基本功能,接下来完善剩下的vote功能和并使用generic views改进请求处理view.包含表单的简单运用和前后台参数传递. 目录 vote:完善投票功能 gener ...
 - java中对list进行分页显示数据到页面
			
http://blog.csdn.net/Tang_Mr/article/details/76212184#10006-weixin-1-52626-6b3bffd01fdde4900130bc5a2 ...
 - pyqt5 -—-布局管理
			
绝对布局 例如: 我们使用move()方法定位了每一个元素,使用x.y坐标.x.y坐标的原点是程序的左上角. lbl1 = QLabel('Zetcode', self) lbl1.move(15, ...
 - Programming Series 1.0 — C Programming
			
In the growing world of technology, C programming has kind of lost its way. Today, we have a million ...
 - 数据库sql使用小结
			
1.更新数据库中表的字段的时候,如果更新的表本身含有最细粒度的字段,那么可以以最细粒度作为判断条件,一次性更新多个字段: 2.如果更新的表中本身不含有最细粒度字段,那么要更新多个字段时有两种思路: a ...
 - NPOI 修改已存在的excel文件,设置第一行行高
			
FileStream fileStream = new FileStream(@FileName, FileMode.Open, FileAccess.Read); FileStream fileSt ...
 - Dnsmasq 配置PXE批量安装系统
			
以下测试都是基于centos 7下的环境 需要安装的软件为 nginx 用来下载ks.cfg和系统镜像文件用的,也可以用ftp服务器来代替 dnsmasq 提供dhcp服务和tftp服务,也可以单独去 ...
 - jmeter安装和使用-个人总结
			
幼儿园版本服务器接口地址:http://10.50.10.78:8666/document/api/#api-account-login 一,安装 1.将jmeter下载后,解压目录放到本地非中文文件 ...