Canvas使用渐变之-径向渐变详解

创建径向渐变使用

createRadialGrdient(x0,y0,r0,x1,y1,r1)?

一共?六个参数,分别代表:

起点的圆心坐标(第一个和第二个参数),

起点园的半径(第三个参数),

终点的圆心坐标(第四个和第五个参数),

终点的圆心半径(第六个参数)?。

该方法返回CanvasGradient对象,该对象定义了addColorStop方法。

addColorStop(,);

两个参数,第一个是要添加颜色的位置,第二个是要添加的纯色。

代码示例:

 1 var ctx = document.querySelector(‘canvas‘).getContext(‘2d‘);
 2
 3 var grad = ctx.createRadialGrdient(250,70,20,200,60,100);
 4
 5 grad.addColorStop(0,‘red‘);
 6
 7 grad.addColorStop(0.5,‘green‘);
 8
 9 grad.addColorStop(1,‘blue‘);
10
11
12
13 ctx.fillStyle = grad;
14
15 ctx.fillRect(0,0,500,140);

在这个例子里,起点圆比较小,被终点圆包围,当我们给这个渐变添加颜色的时候,他们会被放置在起点圆边界和终点圆边界之间的一条线段上。就是addColorStop里面的的0-1之间。

因此我们可以指定这两个圆的位置,所以圆边界之间的距离可能会有变化,颜色渐变速度可能也会有所不同。

注意:当你设定的两个圆不存在包含关系的时候要小心,不同浏览器对于如何开始渐变存在不一致性,结果也很混乱。

可结合另一篇?文章《Canvas使用渐变之-线性渐变详解》一起阅读理解。

时间: 2025-01-10 10:36:50

Canvas使用渐变之-径向渐变详解的相关文章

Android中Canvas绘图之Shader使用图文详解

概述 我们在用Android中的Canvas绘制各种图形时,可以通过Paint.setShader(shader)方法为画笔Paint设置shader,这样就可以绘制出多彩的图形.那么Shader是什么呢?做过GPU绘图的同学应该都知道这个词汇,Shader就是着色器的意思.我们可以这样理解,Canvas中的各种drawXXX方法定义了图形的形状,画笔中的Shader则定义了图形的着色.外观,二者结合到一起就决定了最终Canvas绘制的被色彩填充的图形的样子. 类android.graphics

CSS3线性渐变和径向渐变

background:linear-gradient(to top left, blue,orange);//从右下角往左上角渐变 background:radial-gradient(to top left, blue,orange);//径向渐变

css3 线性渐变和径向渐变

线性渐变:ie6以下不兼容 径向渐变:只支持firefox.Chrome和Safari <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="utf-8" /> <title>Background Color</title> <style ty

html5中的线性渐变与径向渐变

线性渐变代码 function show(){ var obj=document.getElementById("demo"); var context=obj.getContext("2d"); var g=context.createLinearGradient(0,0,0,300); //都有一个渐变的过程滴呀: //就是这一样滴呀: //这个是我们的线程渐变: //线性渐变的颜色添加滴呀: g.addColorStop(0,'red'); g.addColo

Css3渐变(Gradients)-径向渐变

CSS3径向渐变-radial-gradient()/repeating-radial-gradient() 径向渐变由它的中心定义. 创建径向渐变,至少定义两种颜色节点,呈现平稳过度的颜色.同时,你也可以指定渐变中心.形状(圆形或椭圆形).大小. 默认情况下,渐变的中心是center(表示在中心),渐变的形状是ellipse(表示椭圆形),变天的大小是farthest-corner(表示到最远的角落) 语法: background: radial-gradient(center, shape

CSS3之渐变(线性渐变,径向渐变)

渐变 一.           线性渐变 1         线性渐变格式 linear-gradient([<起点> || <角度>,]? <点>, <点>-) 只能用在背景上 2         IE filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#ff0000',GradientType='1'); <style>

渐变-线性渐变和径向渐变

线性渐变 语法:background: linear-gradient(direction, color-stop1, color-stop2, ...); <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>渐变</title> <style> /*从上到下*/ #grad1 { height: 200px; background:

线性渐变与径向渐变与重复渐变

<style> /*线性渐变*/ div{ width: 300px; height: 300px; /*添加渐变:渐变不是一个单一钩,它产生的是图像,所以需要使用background*/ /*linear-gradient(方向,开始颜色 位置,颜色2 位置,颜色3 位置...);*/ /*方向: to top:0deg to right:90deg to bottom:180deg --默认值 to left:270deg*/ /*background: linear-gradient(t

CSS3 渐变分为线性渐变和径向渐变

这种事情,我的心理很不爽快,因为这其实是一件很小的事情.我觉得这个完全不存在这一点点的时间.如果说确实没有计划也应该提前说明,而不是等着我去问.这个细节让人很不舒服.还有签定的合同,所有之前提到的福利待遇,并没有写到合同里面.所有的场景都让我觉得我到底是入职了还是没有入职呢?我是应该信任这家公司呢?还是应该相信白字黑字.我还是觉得白字黑字靠谱.再给自己一点点时间去适应,还是希望自己稳定下来.可以说这样说,虽然我选择了这里,可是我对我现在这份工作依然忐忑不安. 在团队中,总不可避免的以家长的姿态自