JavaScript-2-6:canvas
来源:互联网 发布:淘宝手表店推荐 编辑:程序博客网 时间:2024/06/13 03:13
1、canvas标签:
canvas是HTML5提供的一个标签,我们可以在这个盒子区域绘画
CanvasRendderingContext2D 对象给我们提供了在canvas盒子上画图的功能
<canvas>浏览器不支持的时候,它就像个 p 标签的功能</canvas>
1)线:
设置宽高不要通过 css 设置,通过canvas 对象的属性来设置:
获取画笔的方法:
起点(没有起点的话,默认是轨迹的第一个终点):pen.moveTo(x,y);
轨迹(上一次的终点是下一次轨迹的起点)
合并(不用写最后一条线的轨迹,直接从终点连线到起点)
轨迹的颜色(不写默认黑色):
轨迹宽度(内外一半):pen.lineWidth = 20;
填充颜色:pen.fillStyle = ”red“;
pen.fill();
// 只有封闭的填充才有效果,不写默认不填充,写了默认黑色
沿着轨迹绘制(只有轨迹是不行的,这一步才是真的绘制):pen.stroke();
新轨迹起点(第一个默认有这个方法):pen.beginPath();
2)弧线:
pen.arc( x,y,r,起始角度,结束角度,逆顺时针 ) ;
pen.stroke( );
// x,y圆心坐标 r半径 逆顺时针填布尔值(可选)
// deg = Math.PI / 180 (deg就等于1度)
3)文字:
文字的绘制不用加 pen.stroke( );
文字样式:pen.font = "30px Verdana, Geneva, sans-serif";
// font 复合属性和 css 一样
绘制文字: pen.fillText( 文字内容,x,y);
// x,y文字起点
4)矩形:
pen.fillRect( x,y,w,h);
// x,y起点 w,j 宽高
5)清除区域:
清除: pen.fillRect( x,y,w,h);
// x,y起点 w,j 宽高
清屏: canvas.width = canvas.width ;
// 重新给画布设置宽度,整个界面就清除了,也可以达到清除的效果
6)图片:
pen.drawImage( img,x,y); //参数:除红色参数外都是可选参数
pen.drawImage( img,sx,sy,sw,sh,x,y,w,h);
sx,sy:剪切相对于(原始图片左上角开始)原始图片x,y坐标
sw,sh:剪切原始图片的宽高
x,y:剪切后的图片的x,y坐标
w,h:剪切后图片的宽高
img 图片对象,可以使标签对象。
可以自己创建var img = new Image( ); img.src = 'xxx';
绘制一个等比例缩放图片: img.width:w = img.height:h
绘制一个重叠样子的图片: for(var i=0;i<10;i++){
pen.drawImage( img,100+20*i,100+20*i )
}
通过 setInterval( ) 函数制作动画: 定时器
换姿势画图(重点):
保存canvas画的图: toDataURL( "img/png",1);
// 保存的图片类型 保存的图片质量( 0-1 )
画布渲染画布: pen.drawImage( canvasHide,0,0);
一个用户看不见的画布画图,画好了就把这个看不见的画布画到另一个用户看得见的画布上(提升用户体验)
阅读全文
0 0
- JavaScript-2-6:canvas
- JavaScript canvas
- javascript canvas 绘图 2d 渐变 阴影
- JavaScript canvas支持
- Javascript canvas画图实例
- javascript canvas 碰撞检测
- JavaScript:使用Canvas绘图
- JavaScript之Canvas画布
- javascript扫雷, canvas界面
- JavaScript Canvas 绘图
- JavaScript Canvas画布
- JavaScript canvas实现俄罗斯方块
- JavaScript基础之Canvas
- JavaScript用canvas元素实现 2D 和 3D
- canvas旋转图片(javascript)
- Canvas与javaScript特效笔记
- Javascript+Canvas实现吸尘器模型
- Javascript 使用canvas压缩图片
- bzoj-4627 [BeiJing2016]回转寿司 hash+权值线段树
- Go的闭包——计数器
- Unity_DOTween动画的学习(五)_Tweener的使用和注意事项_DOPlay播一次_DOPlayForward播多次_DOPlayBackwards倒放_SetAutoKill动画的自动销
- 2012ICPC长春站 I Count【暴力+模拟】
- Kubelet源码分析之diskSpaceManager
- JavaScript-2-6:canvas
- Ubuntu硬盘空间不足时,添加硬盘的方法
- MySQL系列优化(一)
- 资源——myeclipse安装及破解教程
- Android移动开发-使用Socket进行通信的实现
- 清北学堂-D3-T2-safe
- java list 去除 重复值
- 链表的反转与旋转
- 【原创】TensorFlow安装以及models示例验证