颜色、样式和阴影

fillStyle 设置或返回用于填充绘画的颜色、渐变或模式

定义和用法

context.fillStyle=color|gradient|pattern;//指示绘图填充色的CSS颜色值|用于填充绘图的渐变对象线性或放射性|用于填充绘图的 pattern 对象

实例一:矩形绘制,也是最简单的使用方法。

context.fillStyle=color
<canvas id="canvas" width=300 height=150></canvas>
<script>
var myCanvas = document.getElementById("canvas");
var cc = myCanvas.getContext("2d");
cc.fillStyle = "#ff0000";
cc.fillRect(100,25,100,100);//四个参数分别对应:x,y,w,h
</script>

效果图

实例二:从上到下的渐变,矩形填充。

context.fillStyle=gradient
<canvas id="canvas" width=300 height=150></canvas>

<script>
var myCanvas = document.getElementById("canvas");
var cc = myCanvas.getContext("2d");
var myGradient=cc.createLinearGradient(0,0,0,170);
myGradient.addColorStop(0,"#ff0000");
myGradient.addColorStop(1,"#ffcc00");
cc.fillStyle=myGradient;
cc.fillRect(100,25,100,100);
</script>

效果图

createLinearGradient() 方法创建线性的渐变对象。

渐变可用于填充矩形、圆形、线条、文本等等。

提示:请使用该对象作为 strokeStyle 或 fillStyle 属性的值。

提示:请使用 addColorStop 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。

context.createLinearGradient(x0,y0,x1,y1);//渐变开始点的 x 坐标,渐变开始点的 y 坐标,渐变结束点的 x 坐标,渐变结束点的 y 坐标

实例三:定义一个从左到右,由黑到红再到白的渐变,作为矩形的填充样式:

<canvas id="canvas" width=300 height=150></canvas>
<script>
var myCanvas = document.getElementById("canvas");
var cc = myCanvas.getContext("2d");
var myGradient=cc.createLinearGradient(100,0,200,0);
myGradient.addColorStop(0,"black");
myGradient.addColorStop(0.5,"red");
myGradient.addColorStop(1,"white");
cc.fillStyle=myGradient;
cc.fillRect(100,25,100,100);
</script>

实例四:绘图填充

context.fillStyle=pattern
<p align="center"><img src="img/lamp.gif" id="lamp" alt=""></p>
<canvas id="canvas2" width=300 height=150></canvas> <script>
var img=document.getElementById("lamp");
function drawImgRepat(){
var c=document.getElementById("canvas2");
var ctx=c.getContext("2d");
var pat=ctx.createPattern(img,"repeat");//repeat|repeat-x|repeat-y|no-repeat
ctx.rect(0,0,128,96);
ctx.fillStyle=pat;
ctx.fill();
}
img.onload = drawImgRepat;
</script>

这里发现 一点小问题:1、图片需要在页面中;2、rect(0,0,128,96),如果改变开始x.y坐标,发现图片显示不完整,也就是说图片开始位置永远是0,0

html5 之 canvas 相关知识(二)API-fillStyle的更多相关文章

  1. html5 之 canvas 相关知识(一)概念及定义

    什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...

  2. html5 之 canvas 相关知识(三)API-strokeStyle-shadow相关

    strokeStyle定义和用法 strokeStyle 属性设置或返回用于笔触的颜色.渐变或模式. context.strokeStyle=color|gradient|pattern;//指示绘图 ...

  3. es的相关知识二(检索文档)

    一.es的使用 1.检索文档: 想要从Elasticsearch中获取文档,我们使用同样的 _index  . _type  . _id  ,但是HTTP方法改为 GET  : GET /{index ...

  4. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

  5. 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识

    ---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...

  6. 客户端相关知识学习(十二)之iOS H5交互Webview实现localStorage数据存储

    前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...

  7. Canvas学习:封装Canvas绘制基本图形API

    Canvas学习:封装Canvas绘制基本图形API Canvas Canvas学习   从前面的文章中我们了解到,通过Canvas中的CanvasRenderingContext2D对象中的属性和方 ...

  8. html5之canvas画图基础

    HTML5+CSS3的好处是,你可以编写一个页面分别用于不同的平台,只需要设置不同的css样式就可以了,现在基本主流浏览器都支持全新的HTML5和CSS3,因为它的跨平台开发.因为是原生代码所以它的页 ...

  9. HT for Web基于HTML5的图像操作(二)

    上篇介绍了HT for Web采用HTML5 Canvas的getImageData和setImageData函数,通过颜色乘积实现的染色效果,本文将再次介绍另一种更为高效的实现方式,当然要实现的功能 ...

随机推荐

  1. github 多帐户使用

    同一台电脑有2个github账号?咋办 比如一个公司账号一个个人账号. 私人账号如下: 邮箱example@126.com 账号:example 公司工作账号如下: work@xx.com 账号:my ...

  2. LVS 单独完成--负载均衡

    原文地址:http://blog.sina.com.cn/s/blog_5f54f0be0101eyiu.html LVS 是通过 IPVS 模块来实现的.IPVS是LVS集群的核心,主要用于完成用户 ...

  3. access数据库密码破解

    根据C语言教学书上的示例编写,主要破解access的密码,通过异或算法,支持access2000和access2003,其他版本的没经过测试,下面是具体代码: #include <stdio.h ...

  4. 关于form.submit()不能提交表单的错误原因

    来源:http://www.ido321.com/948.html 直接上代码把: 1: <div id="register"> 2: <h4>会员注冊&l ...

  5. Nazo解密游戏攻略

    啊,终于腾出时间来玩这个游戏了,顺手写一下攻略吧…… 第0关:http://cafebabe.cc/nazo/ 第一关:第一关很简单 点一下就好了 http://cafebabe.cc/nazo/le ...

  6. 网站性能扩展案例:每天30-50亿请求,300K QPS是如何炼成的

    Reduce Data广告服务网站(http://reducedata.com)如何扩展到每天300K QPS请求?分享经验如下: 1. 为大规模而设计,广告服务平台从一开始增长就很惊人,因此,系统开 ...

  7. [Node.js] npm init && npm install

    npm init: For create package.json file which will recode the dependence. npm install: You can also w ...

  8. Media Queries详细

    @media only screen and (max-device-width: 480px) { //页面最大宽度480px } <link rel="stylesheet&quo ...

  9. mysql 数据库性能追踪与分析

    http://bbs.linuxtone.org/thread-20601-1-1.html

  10. ClamAV

    ClamAV 简介以及适用范围 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除,至多删除文件.ClamAV可以工作很多的平台上,但是有少数 ...