html5 之 canvas 相关知识(二)API-fillStyle

颜色、样式和阴影

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

时间: 2024-10-06 06:16:23

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

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

什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. <canvas> 标签只是图形容器,它没有自己的行为,需要定义API 支持脚本化客户端绘图操作. 创建 Canvas 元素 canvas的代码很简单,定义一个ID以及宽和高.这里强调一点:canvas的宽高必须写在元素上,如果用样式定义,不能改变其图片的比例 <canva

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

strokeStyle定义和用法 strokeStyle 属性设置或返回用于笔触的颜色.渐变或模式. context.strokeStyle=color|gradient|pattern;//指示绘图填充色的CSS颜色值|用于填充绘图的渐变对象线性或放射性|用于填充绘图的 pattern 对象 实例 1 绘制一个矩形.使用渐变笔触: <canvas id="canvas" width=300 height=150></canvas> <script>

HTML5程序设计 Canvas API

检测浏览器支持情况 <script type="text/javascript"> try { document.createElement("Canvas").getContext("2d"); document.getElementById("support").innerHTML = "OK"; } catch (e) { document.getElementById("sup

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

Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4节 透视表和交叉表 第5节 时间序列 第6节 日期的规范.频率以及移动 第7节 时区处理 第8节 时期及算术运算 第9节 重采样及频率转换 第10节 时间序列绘图 groupby 技术 一.实验简介 Python 数据分析(二)需要同学们先行学完 Python 数据分析(一)的课程. 对数据集进行分

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

一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserver:这是一款适合开发阶段使用的服务器,不能对大量请求进行同时处理,不适合运行在真实的生产环境中,在实际生产环境中使用WSGI作为接口,连接web和python代码(也就是django项目): 2.WSGI:Web服务器网关接口,英文为Python Web Server Gateway Interface,缩写为WSGI,是

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

上篇介绍了HT for Web采用HTML5 Canvas的getImageData和setImageData函数,通过颜色乘积实现的染色效果,本文将再次介绍另一种更为高效的实现方式,当然要实现的功能效果是完全一样的.这次我们依然基于HTML5技术,但采用Canvas的globalCompositeOperation属性进行各种blending效果: 各种globalCompositeOperation效果可参考https://developer.mozilla.org/en-US/docs/W

canvas基础知识

低版本的ie不支持html5,需要引入excanvas.js来让ie支持canvas.检测<canvas id="canvas" width="150" height="200" > 你的浏览器不支持canvas</canvas>var canvas = document.getElementById('canvas');if(canvas.getContext) alert('支持canvas'); >> 绘

浅尝HTML5之canvas

转自:http://segmentfault.com/a/1190000000661407/ HTML5新标签 HTML5新引入header,footer,article,section,aside和nav,audio,datalist,details,video,progress,embed等标签 section 标签用于标识页面上的重要内容部分.该标签有点类似于将一本书分成几个章节. article 标签标识了 Web 页面中的主要内容. aside 标签表示arcitle元素内容之外的.与

HTML5标签canvas制作平面图

摘要: HTML5规范已经完成了,互联网上已经有数不清的站点使用了HTML5.从现在开始研究HTML5,本文是自己在学习canvas过程中的记录,以备后需. 历史: 这个 HTML 元素是为了客户端矢量图形而设计的.它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上.canvas标记由 Apple 在 Safari 1.3 Web 浏览器中引入.对 HTML 的这一根本扩展的原因在于,HTML 在 Safari 中的绘图能力也