用H5 canvas实现唯美渐变色块的绘制
2017-12-21 15:10
751 查看
随着Web前端的不断发展,我们已经可以使用H5+js+css做出很多复杂而优美的视觉效果。一幕幕的视觉盛宴背后是网页设计人员精巧的构思和前端开发人员的精湛技能。今天我们来讲述一下简单H5 canvas 渐变色块的绘制,希望给有需要的读者一定的启发,day day up together。
① 首先我们需要了解的是canvas的绘图机制。canvas其实简单来讲就是一块画布,我们可以在里面添加图片,文字,线条甚至高级动画。概念蛮复杂但使用起来十分简便,我们使用
② 但现在它并没有颜色只是指定了大小。我们可以给它加上一个边框使之可见:
当我们使用canvas时,需要加入此句表示对canvas的引用:
var canvas=document.getElementById(id);
var context=canvas.getContext(‘2d’);
使用canvas对象的getcontext方法获得图形上下文。
③ 我们来了解一下所需要的canvas绘图机制,fillRect,strokeRect,fillStyle和strokeStyle。
fillRect用于填充矩形,strokeRect用于绘制矩形边框。使用方法相同,
context.fillRect(x,y,width,height);
context.strokeRect(x,y,width,height);
fillStyle被我们用来设置填充颜色,而strokeStyle用于设置轮廓颜色。使用方法相同,
context.fillStyle(x,y,width,height);
context.strokeStyle(x,y,width,height);
④ 接下来我们开始渐变色块的绘制。我们使用600*600的canvas画布,颜色使用RGB,值用双层循环加数学公式来设定,context.fillStyle=’rgb(‘+Math.floor(255-42.5*i)+’,’+Math.floor(255-42.5*j)+’,0)’
每个色块大小设置为100px,6行6列,context.fillRect(j*100,i*100,100,100);。
具体实现代码如下:
渐变色绘制 · 代码
绘制出的图形即如下图:
主要思想是其中颜色变化的实现方法,利用循环加数学公式改变RGB值。
具体流程如上,读者可自行尝试。把上述几种绘图机制掌握好,可自行引申到其他的图形上去。
① 首先我们需要了解的是canvas的绘图机制。canvas其实简单来讲就是一块画布,我们可以在里面添加图片,文字,线条甚至高级动画。概念蛮复杂但使用起来十分简便,我们使用
<canvas></canvas>即可放置画布。我们可以通过修改开始标签中的参数来进行画布设置,如
<canvas width="600" height="600"></canvas>即可在页面上放置一块600px×600px的区域为画布。
② 但现在它并没有颜色只是指定了大小。我们可以给它加上一个边框使之可见:
<canvas id="test1" style="border:2px solid;" width="600" height="600"></canvas>使用style为之增加一个边框,同时我们为之增加一个id特性,便于我们通过这个id来找到该canvas元素。请读者自行拷贝或手动输入代码执行观察结果。
当我们使用canvas时,需要加入此句表示对canvas的引用:
var canvas=document.getElementById(id);
var context=canvas.getContext(‘2d’);
使用canvas对象的getcontext方法获得图形上下文。
③ 我们来了解一下所需要的canvas绘图机制,fillRect,strokeRect,fillStyle和strokeStyle。
fillRect用于填充矩形,strokeRect用于绘制矩形边框。使用方法相同,
context.fillRect(x,y,width,height);
context.strokeRect(x,y,width,height);
fillStyle被我们用来设置填充颜色,而strokeStyle用于设置轮廓颜色。使用方法相同,
context.fillStyle(x,y,width,height);
context.strokeStyle(x,y,width,height);
④ 接下来我们开始渐变色块的绘制。我们使用600*600的canvas画布,颜色使用RGB,值用双层循环加数学公式来设定,context.fillStyle=’rgb(‘+Math.floor(255-42.5*i)+’,’+Math.floor(255-42.5*j)+’,0)’
每个色块大小设置为100px,6行6列,context.fillRect(j*100,i*100,100,100);。
具体实现代码如下:
渐变色绘制 · 代码
<body> <div id="test1" style="margin-left:20px; margin-top: 20px;width: 600px;height: 600px;background-color: whitesmoke;"> <canvas id="change" width="600" height="600"></canvas> </body> <script type="text/javascript"> var canvas=document.getElementById("change"); var context=canvas.getContext('2d'); for(var i=0;i<6;i++){ for(var j=0;j<6;j++){ context.fillStyle='rgb('+Math.floor(255-42.5*i)+','+Math.floor(255-42.5*j)+',0)'; context.fillRect(j*100,i*100,100,100); } } </script>
绘制出的图形即如下图:
主要思想是其中颜色变化的实现方法,利用循环加数学公式改变RGB值。
具体流程如上,读者可自行尝试。把上述几种绘图机制掌握好,可自行引申到其他的图形上去。
博主在吉林大学,是大四到公司实习的大学生,现在在东方国信公司做软件测试。 菜鸟一只,也在不断的学习阶段,平时的小经验不定期分享。 愿与同在CSDN的你共同进步。 有意可加QQ1255187803交流学习。
相关文章推荐
- H5 canvas基础入门到捕鱼达人小游戏实现(2)-矩形,柱状图,饼图绘制
- Html5学习------canvas绘制径向渐变图形
- JavaScript+html5 canvas绘制渐变区域完整实例
- h5 canvas(toDataURL)实现将图片与文字结合
- js+html5实现canvas绘制简单矩形的方法
- HTML5 Canvas渐变图形绘制[线性、径向]
- [前端] canvas绘制圆、渐变、字体和图片及其他
- 详述canvas(三)—绘制图形/填充和渐变
- 用canvas实现鼠标拖动绘制矩形框
- 用canvas实现鼠标拖动绘制矩形框
- Html5 Canvas 系列_绘图三(H5 绘制圆弧)
- h5 canvas 绘制的写轮眼特效
- H5动画,canvas绘制圆环百分比进度的动态效果
- canvas绘制圆、渐变、字体和图片及其他
- SupSurfaceCanvasView--快速实现自定义绘制SurfaceView帮助类
- 自动绘制相关图形及实现渐变颜色
- js+html5实现canvas绘制镂空字体文本的方法
- 【JavaScript】基于H5 canvas实现的画板绘图工具(类似你画我猜)——整合颜色选取、保存图片到本地功能
- JavaScript实现使用Canvas绘制图形的基本教程
- 用canvas实现鼠标拖动绘制矩形框