我正在尝试设置一个画布,以便我可以使用真实世界尺寸绘制它。无论屏幕DPI或分辨率如何,我都希望lineTo
和绘图命令以mm为单位。
你是如何设置的?在我的屏幕上,当我检查ctx
对象时,10mm字体被转换为38px,但是我手机上的尺寸是另一种尺寸。
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
c.height = 100;
c.width = 200;
// Draw a 10mm square
ctx.beginPath();
ctx.moveTo(10,10);
ctx.lineTo(10,20);
ctx.lineTo(20,20);
ctx.lineTo(20,10);
ctx.lineTo(10,10);
ctx.stroke();
ctx.font = "10mm Arial";
ctx.fillText("TEXT", 10, 75);

<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" style="border:1px solid #d3d3d3;"></canvas>
</body>
</html>
&#13;