1.线性径变:ctx.createLinearGradient();

   var grd=ctx.createLinearGradient(0,0,170,0);
grd.addColorStop(0,'black');
grd.addColorStop(.5,'red');
grd.addColorStop(1,'white');
ctx.fillStyle=grd;
ctx.fillRect(100,100,500,500);

2.阴影:

 <script>
(function(){
var canvas = document.querySelector( '#cavsElem' );
var ctx = canvas.getContext( '2d' );
canvas.width = 600;
canvas.height = 600;
canvas.style.border = "1px solid #000";
ctx.fillStyle='rgba(255,0,0,.9)';
ctx.shadowColor='blue';
ctx.shaodwBlur='10';//shadowBlur 属性设置或返回阴影的模糊级数
ctx.shadowOffsetX=10;
// shadowOffsetX 属性设置或返回形状与阴影的水平距离。
// shadowOffsetX=0 指示阴影位于形状的正下方。
// shadowOffsetX=20 指示阴影位于形状 left 位置右侧的 20 像素处。
ctx.shadovOffsetY=10;
ctx.fillRect(100,100,100,100);
}());
</script>

3.径向渐变:

 <script>
(function() {
var canvas = document.querySelector('#cavsElem');
var ctx = canvas.getContext('2d');
canvas.width = 600;
canvas.height = 600;
canvas.style.border = "1px solid #000";
var rlg=ctx.createRadialGradient(300,300,10,300,300,200);//渐变开始圆的x,y坐标,半径,和渐变结束时候的状态;
rlg.addColorStop(0,'teal');
rlg.addColorStop(.4,'navy');
rlg.addColorStop(1, 'purple');
ctx.fillStyle=rlg;
ctx.fillRect(100,100,500,500);
}());
</script>

4.画布的移动,伸缩,旋转,透明度,状态的保存;

 <script>
(function(){
var canvas = document.querySelector( '#cavsElem' );
var ctx = canvas.getContext( '2d' );
canvas.width = 600;
canvas.height = 600;
canvas.style.border = "1px solid #000";
// ctx1: 状态1
ctx.fillStyle = 'red';
ctx.fillRect(10, 10, 100, 100);
//状态 只是 上下文的一些样式的设置。
ctx.save(); // 把当前的上下文的状态保存起来 // 状态1
// 把当前画布移动到 200,200位置
ctx.translate( 200, 200); //把整个画布位移到200,200
ctx.rotate(30 * Math.PI / 180 ); //把整个画布旋转30度
ctx.scale(2, 2); //把整个画布放大x和y方向各2倍
ctx.globalAlpha = .3;//设置透明度 // 状态2:
ctx.fillStyle = 'green';
ctx.strokeStyle = 'purple';
ctx.moveTo(0, 0);
ctx.lineTo(400, 0);
ctx.moveTo(0, 0);
ctx.lineTo(0, 400);
ctx.stroke();
ctx.fillRect(10, 10, 40, 40);
ctx.restore(); // 把上一次保存的ctx状态,还原。
//当前ctx:回到 状态1
ctx.fillRect(400, 400, 100, 100);
}());
</script>

5.将canvas转成一个图片:

 <script>
console.log('canvas.toDataURL('image/jpeg',.6);
</script>

6.把canvas输出到另外一张图片上去;

 // 把canvas输出到一张图片上去
// var img = document.getElementById('imgId');
// img.src = canvas.toDataURL('image/png', .5);
//把一个画布渲染到另外一个画布上。
ctx2.drawImage(canvas1, 0, 0);

canvas相关api的更多相关文章

  1. html5 canvas常用api总结(二)--绘图API

    canvas可以绘制出很多奇妙的样式和美丽的效果,通过几个简单的api就可以在画布上呈现出千变万化的效果,还可以制作网页游戏,接下来就总结一下和绘图有关的API. 绘画的时候canvas相当于画布,而 ...

  2. Html5 学习系列(五)Canvas绘图API快速入门(2)

    Canvas绘图API Demos 上一篇文章中,笔者已经给大家演示了怎么快速用Canvas的API绘制一个矩形出来.接下里我会在本文中给各位介绍Canvas的其他API:绘制线条.绘制椭圆.绘制图片 ...

  3. javascript canvas全部API

    HTMLCanvasElement//canvas elem对象 属性 height//高 width//宽 方法 getContext()//获取<canvas>相关的可绘制的上下文 t ...

  4. OpenGL FrameBufferCopy相关Api比较(glCopyPixels,glReadPixels,glCopyTexImage2D,glFramebufferTexture2D)

    OpenGL FrameBufferCopy相关Api比较 glCopyPixels,glReadPixels,glCopyTexImage2D,glFramebufferTexture2D 标题所述 ...

  5. Html5 学习系列(五)Canvas绘图API快速入门(1)

    引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏 ...

  6. QQ音乐的各种相关API

    QQ音乐的各种相关API 分类: oc2014-01-29 15:34 2676人阅读 评论(2) 收藏 举报 基本上论坛里做在线音乐的都在用百度的API,进来发现百度的API不仅歌曲的质量不可以保证 ...

  7. addChildViewController相关api深入剖析

    注:本文根据个人的实践和理解写成,若有不当之处欢迎斧正和探讨! addChildViewController是一个从iOS5开始支持的api接口,相关的一系列的接口是用来处理viewcontrolle ...

  8. [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

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

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

随机推荐

  1. JSONP简单例子

    jsonp的原理很简单,主要利用了HTML中所有有src的属性的标签可以跨域的特点,利用script的src进行get请求,后端输出一段js代码的字符串在script中便会执行. 当然后端输出普通的j ...

  2. Ubuntu解压缩zip,tar,tar.gz,tar.bz2

    ZIP zip可能是目前使用得最多的文档压缩格式.它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用.缺点就是支持的压缩率不是很高,而tar.gz和tar. ...

  3. 【Linux】shell数学运算

    在Bash shell环境中,可以利用let.(())和[]执行基本的算术操作.而在进行高级操作时,expr和bc这两个工具就特别有用 let的使用 Script01.sh #!/bin/bash # ...

  4. 按部就班——图解配置IIS5的SSL安全访问(转)

    作者:mikespook 版本:1.0 最后更新:2004-12-22 16:04 按部就班——图解配置IIS5的SSL安全访问... 1 写在前面的... 1 第一步:       准备工作... ...

  5. Centos调出图形化的网络管理

    在Linux中设置网路,图形化很方便.在命令行下/etc/sysconfig/network-scripts/ifcfg-eth0 00.命令行下修正网路 [root@dzswj-test ~]#ca ...

  6. iOS 音乐播放器之锁屏效果+歌词解析

    概述 功能描述:锁屏歌曲信息.控制台远程控制音乐播放:暂停/播放.上一首/下一首.快进/快退.列表菜单弹框和拖拽控制台的进度条调节进度(结合了QQ音乐和网易云音乐在锁屏状态下的效果).歌词解析并随音乐 ...

  7. awk打印倒数第2列

    cat 1-iplist.txt | awk '{ print $(NF-2) }'|wc 实际示例: 打印nginx日志中 变量request_time超过3秒的日志信息 [root@datalin ...

  8. web.config配置数据库连接(转)

    摘自:http://www.cnblogs.com/breezeblew/archive/2008/05/01/1178719.html 第一种: 取连接字符串 string connString = ...

  9. ssh之为什么要放弃ssh?

    本文经转载, 源出处不详.https://www.cnblogs.com/hackxiyu/p/6849085.html 最近听一些朋友说,招聘面试的很多人简历都差不多,大部分人的简历上面都写了熟悉s ...

  10. 漫谈Github与开源,Git介绍以及Git的思想和基本工作原理 Git工作流程

    漫谈Github与开源 文字亮点: 为什么这些优秀的工程师会开源自己的项目? 因为开源是一种精神. 无数的软件开发者苦心积虑保护自己的代码不被破解,而还是被聪明绝顶的脚本小子破解了,但破解无数软件的脚 ...