【发布时间】:2018-06-18 08:11:25
【问题描述】:
我想在画布上绘制一些矩形。此画布应具有全屏尺寸。
无需调整画布大小的正确视图:
$(document).ready(() => {
const canvas = $('#c')[0];
const ctx = canvas.getContext('2d');
ctx.lineWidth = 1;
for (let i = 0; i < 10; i++) {
const rectHeight = 100;
const verticalPosition = i * rectHeight + (i + 1) * 10;
ctx.strokeRect(10, verticalPosition, 200, rectHeight);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="c"></canvas>
具有调整大小的画布的视图:
$(document).ready(() => {
const canvas = $('#c')[0];
const ctx = canvas.getContext('2d');
ctx.lineWidth = 1;
for (let i = 0; i < 10; i++) {
const rectHeight = 100;
const verticalPosition = i * rectHeight + (i + 1) * 10;
ctx.strokeRect(10, verticalPosition, 200, rectHeight);
}
});
#c {
width: 100%;
height: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="c"></canvas>
我不希望元素变大。只是画布应该有更大的区域可以绘制。画布上的元素应保持其大小。否则它们会变得模糊。
【问题讨论】:
-
当窗口加载和调整大小时,您可以使用 JavaScript 以像素为单位设置画布的宽度和高度,而不是缩放。顺便说一句,你不需要 jQuery。
-
但是如何在所有显示器上获得正确的全屏像素?
-
window.innerWidth和window.innerHeight:)
标签: javascript jquery html css canvas