呀,曾经的我是那么的单纯,天真,粗略的翻了一遍小程序画布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绘制渐变色(简单入门)的更多相关文章

  1. 微信小程序-canvas绘制文字实现自动换行

    在使用微信小程序canvas绘制文字时,时常会遇到这样的问题:因为canvasContext.fillText参数为 我们只能设置文本的最大宽度,这就产生一定的了问题.如果我们绘制的文本长度不确定或者 ...

  2. 小程序canvas绘制纯色圆角区域 setdata数组某一项

    小程序canvas绘制纯色圆角区域: //方法: roundRectPath:function(ctx, x, y, w, h, r) { ctx.beginPath(); ctx.moveTo(x ...

  3. 小程序canvas绘制base64数据格式图片

    翻了微信小程序官方文档,看了看画板drawImage的用法,官方对所要绘制的图片资源路径并没有很详细,模棱两可,没说支持什么格式的路径.今天我就试一下支不支持base64格式的图片 随便找张图片从网上 ...

  4. 微信小程序 canvas 绘制圆形状

    page({ // 绘制canvas drawCanvas:function(){ const ctx = wx.createCanvasContext('poster') // 画圆形二维码 thi ...

  5. 小程序canvas绘制倒计时

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 效果展示: //广告倒计时 advTimeCountDown:function(advTime ...

  6. 小程序Canvas性能优化实战

    以下内容转载自totoro的文章<小程序Canvas性能优化实战!> 作者:totoro 链接:https://blog.totoroxiao.com/canvas-perf-mini/ ...

  7. 技术博客--微信小程序canvas实现图片编辑

    技术博客--微信小程序canvas实现图片编辑 我们的这个小程序不仅仅是想给用户提供一个保存和查找的平台,还希望能给用户一个展示自己创意的舞台,因此我们实现了图片的编辑部分.我们对对图片的编辑集成了很 ...

  8. 微信小程序 canvas 字体自动换行(支持换行符)

    微信小程序 canvas 自动适配 自动换行,保存图片分享到朋友圈  https://github.com/richard1015/News 微信IDE演示代码https://developers.w ...

  9. 微信小程序--canvas画布实现图片的编辑

    技术:微信小程序   概述 上传图片,编辑图片大小,添加文字,改变文字颜色等 详细 代码下载:http://www.demodashi.com/demo/14789.html 概述 微信小程序--ca ...

随机推荐

  1. 问题-python3.6找不到tkinter

    问题:import tkinter失败 然后直接pip安装也不ok python3.6安装过程中会提示是否选择安装tkinter,如此只有打开原来的安装程序 勾选箭头所示

  2. Selenium自动化Chrome浏览器 在windows下窗口最大化

    本人由于是搞自动化时间不长,所以踩了很多坑.准备把踩得这些坑记录下来. 自动化测试最基础的就是打开浏览器然后让Windows窗口最大化. 一开始百度了好多窗口最大化的方法,最常用的是: WebDriv ...

  3. CentOS7下安装Redis5.0.2

    1.下载redis 地址 http://download.redis.io/releases/redis-5.0.2.tar.gz 2.解压tar -zxf redis-5.0.2.tar.gz 3. ...

  4. python数据类型、if判断语句

    python的数据类型: int(整型) float(浮点型) #相较c++,去除了char.long.longlong... str(字符串)    #同等c++ sting类型 list(列表) ...

  5. C#压缩文件,C#压缩文件夹,C#获取文件

    using System; using System.Data; using System.Configuration; using System.Collections.Generic; using ...

  6. oo 第一次博客作业

    oo 第一次博客作业 早在大一就听说了oo的各种传奇故事,大二下学期终于也开始了我的oo之旅. 基于度量来分析自己的程序结构 第一次作业 类图分析 耦合度分析 可以看出在第一次作业中,我的耦合度非常高 ...

  7. 正则表达式中引用shell变量

    注意,是用单引号包含双引号来引用变量 > MAPPING_ID_PO="000001:AP1-TU1000002:AP1-TU2000003:AP1-TU3000004:AP1-TU4 ...

  8. 我与OO (1)

    前言 “真正的勇士敢于面对惨淡的人生,敢于面对淋漓的鲜血” 我是谨慎拜读了鲁迅先生的名言,怀着崇敬的精神去接触这门课程的. 而当我真的经历了这门课程以后,我才发现,刘和珍君这样的觉悟,我们普通人,果然 ...

  9. Linux上安装jdk,mysql

    1.准备工作 一台纯净的Linux系统需要先安装一些依赖才能安装jdk等 rpm: 本地添加安装程序:rpm -ivh 程序名 本地查看程序: rpm -qa 本地卸载程序: rpm -e --nod ...

  10. gradle问题汇总

    问题:从SVN下载到本地后,gradle无法同步,报错如下:Failed to resolve: support-core-utilsFailed to resolve: support-media- ...