Canvas4——图形绘制处理
来源:互联网 发布:网络主播年收入排行榜 编辑:程序博客网 时间:2024/06/05 06:16
1、图形组合
globalCompositeOperation = type 属性
**CanvasRenderingContext2D**
.globalCompositeOperation
属性是 Canvas 2D API 用来绘制新的图形时,设置图形间组合操作的。 每种类型都是一种表示组合或合成方式的字符串。
查看type的各种类型:
(1)在 Canvas Tutorial 中查看 Compositing 章节。
(2)type介绍——查看下面页面的内容:英文原文;中文翻译。
实例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas5</title>
<script>
function draw(id){
var canvas = document.getElementById(id);
var context = canvas.getContext("2d");
var oprtns = new Array(
"source-atop",
"source-in",
"source-out",
"source-over",
"destination-atop",
"destination-in",
"destination-out",
"destination-over",
"lighter",
"copy",
"xor"
)
i = 10;
context.fillStyle = "blue";
context.fillRect(10,10,60,60);
context.globalCompositeOperation = oprtns[i];
context.fillStyle = "red";
context.arc(60,60,30,Math.PI*2,false);
context.fill();
}
</script>
</head>
<body onload="draw('canvas')">
<canvas id="canvas" width="500" height="500"></canvas>
</body>
</html>
2、图形绘制阴影
绘制阴影有四个参数,分别是:shadowBlur、shadowColor、shadowOffsetX、shadowOffsetY.
(1)**CanvasRenderingContext2D**
.shadowBlur
是 Canvas 2D API 描述模糊效果程度的属性; 它既不对应像素值也不受当前转换矩阵的影响。 默认值是 0。
语法
ctx.shadowBlur = level;
level
- 描述模糊效果程度的,float 类型的值。默认值是 0。 负数、
Infinity
或者NaN
都会被忽略。
(2)**CanvasRenderingContext2D**
.shadowColor
是 Canvas 2D API 描述阴影颜色的属性。
(3)**CanvasRenderingContext2D**
.shadowOffsetX
是 Canvas 2D API 描述阴影水平偏移距离的属性。
(4)**CanvasRenderingContext2D**
.shadowOffsetY
是 Canvas 2D API 描述阴影垂直偏移距离的属性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas7</title>
<script>
function draw(id){
var canvas = document.getElementById(id);
var context = canvas.getContext("2d");
context.fillStyle = "#eeeeef";
context.fillRect(0,0,500,500);
context.shadowOffsetX = 10;
context.shadowOffsetY = 10;
context.shadowColor = "rgba(100,100,100,0.5)";
context.shadowBlur = 3.5;
context.translate(0,50);
for(var i=0;i<3;i++){
context.translate(100,100);
create5Star(context);
context.fill();
}
}
function create5Star(context){
var dx = 100;
var dy = 0;
var s = 50;
context.beginPath();
context.fillStyle = "rgba(255,0,0,0.5)";
var x = Math.sin(0);
var y = Math.cos(0);
var dig = Math.PI/5*4;
for(var i = 0;i<5;i++){
var x = Math.sin(i*dig);
var y = Math.cos(i*dig);
context.lineTo(dx+x*s,dy+y*s);
}
context.closePath();
}
</script>
</head>
<body onload="draw('canvas')">
<canvas id="canvas" width="500" height="500"></canvas>
</body>
</html>
效果图如下:
3、绘制图像
**CanvasRenderingContext2D**
.drawImage()
是 Canvas 2D API 提供默认的方式在 canvas 上绘制图片的方法。void ctx.drawImage(image,dx,dy,dWidth,dHeight);
dx:绘制图像的起始点x;dy:绘制图像的起始点y
dWidth:绘制图像的宽度;dHeight:绘制图像的高度
void ctx.drawImage(image,sx,sy,sWidth,sHeight,dx,dy,dWidth,dHeight);
#参数:
(1)image:规定要使用的图像、画布或视频
(2)sx:开始剪切的x坐标位置
(3)sy:开始剪切的y坐标位置
(4)swidth:被剪切图像的宽度
(5)sheight:被剪切图像的高度
(6)dx:在画布上放置图像的x坐标位置
(7)dy:在画布上放置图像的坐标位置
(8)dwidth:要使用图像的宽度
(9)dheight:要使用图像的高度
- Canvas4——图形绘制处理
- C#—绘制图形
- Canvas3——绘制渐变图形与绘制变形图形
- R语言图形绘制学习——图形叠加绘制
- 《Quartz2D——绘制图形》
- OpenGL ES(3)——绘制图形
- Cocos2d-x——DrawNode绘制图形
- opengl学习——绘制图形
- matplotlib 可视化 —— 绘制常见图形
- 可视化 —— 在线图形绘制
- Draw Shapes——绘制图形
- matplotlib入门——绘制简单图形
- 范例01—快速绘制图形
- openGL—绘制简单二维图形
- 第九章、图形绘制——图形控件和图形方法的应用
- 图形处理——分类目录
- 深入了解Canvas标签(2)——绘制图形
- 深入了解canvas标签(2)——绘制图形
- NDK学习笔记(一)
- 可以换行的RadioGroup
- ansible学习笔记(一) -- roles
- 在Eclipse下使用ant构建
- 实战 Walker 之闪屏 界面的实现
- Canvas4——图形绘制处理
- nm 目标文件格式分析
- Kafka设计解析(一)- Kafka背景及架构介绍
- lucene在项目中真实使用
- 资源总序
- 在从服务器接收结果时发生传输级错误
- iOS 第三方之流媒体
- 常用的Git命令整理
- ios基础整理