为何通过设置canvas的style来控制其长宽,画出的图会变成2倍?
新学HTML5,在画图时发现一个问题,以fillRect为例
当我以其属性height和width控制长宽时,一切正常
如果使用CSS控制长宽时,则我设置的值都变成了2倍,仿佛我设置了scale(2,2)一样
请问这是怎么回事呢,有相关说明吗?
以下为测试代码,在firefox和chrome上看到的都一样
当我以其属性height和width控制长宽时,一切正常
<canvas id="cav" style="border:solid 1px #000;" width="600" height="400"></canvas>
如果使用CSS控制长宽时,则我设置的值都变成了2倍,仿佛我设置了scale(2,2)一样
<canvas id="cav" style="border:solid 1px #000;width:600px;height:400px;"></canvas>
请问这是怎么回事呢,有相关说明吗?
以下为测试代码,在firefox和chrome上看到的都一样
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
</head>
<body>
<canvas id="cav1" style="border:solid 1px #000;" width="600" height="300"></canvas>
<br/><br/>
<canvas id="cav2" style="border:solid 1px #000;width:600px;height:300px;"></canvas>
<script type="text/javascript">
//正常
var can = document.getElementById("cav1");
var ctx=can.getContext('2d');
ctx.fillRect(10,10,200,100);
ctx.stroke();
//2倍
can = document.getElementById("cav2");
ctx=can.getContext('2d');
ctx.fillRect(10,10,200,100);
ctx.stroke();
</script>
</body>
</html>
...全文
相关推荐
基于HTML5 Canvas绘图技术应用.pdf
在Web页面中添加Canvas绘图区域,并通过height和width定义该区域的长宽。2. 通过JavaScript进行图形的绘制或图像的处理。3.
Android刮刮卡实现原理与代码讲解
**圆形圆角图片的实现原理**:通过设置Paint对象的Style为STROKE,并配合CornerPathEffect,可以实现圆形或圆角效果。对于刮刮卡背景,可能需要设置一个带有圆角的矩形。2.
CSS中使用border来创建三角形的基本方法讲解
例如,将底部或右侧边框宽度设为0,可以得到一个长宽比不等的三角形。
three学习笔记.docx
2.1.4 长宽比例照相机的长宽比例(aspect ratio)决定了渲染图像的宽高比,通常与Canvas元素的宽高比保持一致。
易语言源码易语言画国旗源码
在图形绘制方面,易语言提供了丰富的绘图命令与API接口,包括画点、画线、画矩形、画椭圆、填充区域、设置画笔颜色与样式、设置背景色、文字输出等基础绘图功能。


