您的位置:首页> HTML5教程> canvas API

canvas translate()

2019-8-23 21:00| 作者: admin| 查看: 148| 评论: 0|来自: 蚂蚁部落

translate方法可以实现图案在画布中的位移,这是其最为直观的功能。

在视觉上确实看到图案产生了位移,但是实质是对画布整个坐标系的移动。

此方法重新映射画布上的 (0,0) 位置,更多内容可以参阅canvas坐标系原点一章节。

语法结构:

[JavaScript] 纯文本查看 复制代码
context.translate(x,y);

参数解析:

(1).x:规定坐标系在x轴位移的尺寸。

(2).y:规定坐标系在y轴位移的尺寸。

浏览器兼容:

(1).IE9+浏览器支持此方法。

(2).edge浏览器支持此方法。

(2).谷歌浏览器支持此方法。

(3).火狐浏览器支持此方法。

(4).Opera浏览器支持此方法。

(5).Safari浏览器支持此方法。

代码实例如下:

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style>
canvas{
  border:1px solid #d3d3d3;
  width:300px;
  height:150px;
}
</style>
<script>
window.onload = () => {
  let cvs=document.getElementById("ant");
  let ctx=cvs.getContext("2d");

  ctx.fillRect(10,10,100,50);

  ctx.translate(70,70);
  ctx.fillStyle = 'red';
  ctx.fillRect(10,10,100,50);
}
</script>
</head>
<body>
<canvas id="ant">当前浏览器不支持canvas标签</canvas>
</body>
</html>

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201908/23/210152mkkprx35luyosoig.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

代码分析如下:

(1).默认,画布坐标系的原点(0,0)在画布的左上角。

(2).以默认坐标系为参考绘制了一个黑色的矩形,非常容易理解。

(3).ctx.translate(70,70)方法可以将画布原来的坐标系的原点分别向左和向下移动70像素。

(4).需要注意的是经过移动后,当前坐标系的原点坐标值是(0,0) ,不要误认为是(70,70)。

(5).然后再依照这个新的原点位置为参考,进行绘制,于是就出现红色矩形。

特别说明如下两点:

(1).坐标系的移动对之前已经绘制好的图案没有影响,比如对黑色图案没有影响。

(2).坐标系的原点位置始终是(0,0),是坐标系的整体移动,只是相对于最初的坐标系来说位置变为(70,70)。


鲜花

握手

雷人

路过

鸡蛋
上一篇:canvas fill()下一篇:canvas rotate()

最新评论

返回顶部