我有一个宽1280像素,高800像素的画布。当我创建一个文本对象并将坐标设置为x:100和y:100;它显示了图片中显示的文字。 in this picture.
x和y值是否没有像素单位?如果没有,我该如何将其更改为像素?
答案 0 :(得分:0)
HTML canvas元素有自己的宽度和高度:
<canvas id="canvas" width="300" height="300">
您还可以在JavaScript中进行更改:
var can = document.getElementById('canvas');
can.width = 500; // the default is 300
can.height = 500; // the default is 150
这是与画布的CSS宽度和高度分开。这一行设置了它们:
<canvas id="canvas" width="300" height="300" style="width:300px; height:500px"></canvas>
尝试设置两者,看看你是否得到了你想要的东西。您可能只设置了CSS,并且没有将canvas.width
和height
设置为300
和150
的小默认值!
在高密度显示器上,许多应用将canvas.width
和height
设置为某个值(比如100),CSS编号设置为该值的一半(50)。他们这样做是为了使画布更像素密集。如果这听起来像你需要的那样,你会想要阅读“画布像素密度。”