javascript - 画布在我的网站上以错误的方式绘制
问题描述
我的画布绘图有问题,这是我按照 W3school 绘制时钟的代码,但是当我在我的网站上编码时,它的绘制方式错误。我不知道为什么......
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var radius = 75;
ctx.translate(radius, radius);
radius = radius * 0.90
drawClock();
function drawClock() {
ctx.arc(0, 0, radius, 0, 2 * Math.PI);
ctx.fillStyle = "white";
ctx.fill();
}
#canvas {
width: 15vw;
height: 15vw;
background-color: red;
position: fixed;
left: 80%;
top: 50px;
}
<canvas id="canvas"></canvas>
解决方案
你需要从.arc
中心开始。此外,您必须使用canvasElement.width =
或设置画布本身的宽度和高度<canvas>
,而不是使用 CSS 或canvasElement.style.width =
:
var canvas = document.getElementById('can'), ctx = canvas.getContext('2d'), sz = 75;
ctx.fillStyle = '#fff'; ctx.arc(sz, sz, sz, 0, Math.PI*2); ctx.fill();
canvas{
background:#f00;
}
<canvas width='150' height='150' id='can'></canvas>
推荐阅读
- java - Hibernate:返回不是实体的 DTO?
- python - 为什么我得到颠倒的图像?
- python - 通过在两个不同的数据框中按 ID 搜索来返回缺失的行
- react-native - 将元素附加到倒置 FlatList 的顶部
- python - 我正在尝试制作一个单词生成器来生成不存在的单词
- powershell - Powershell如何传递系统变量
- hibernate - 在保留父数据的同时尝试删除/更新子元素
- excel - VBA 访问,使用循环将具有不同参数的相同查询多次导出到单个 Excel 电子表格
- python - 在python中使用selenium进行网页抓取,点击按钮时遇到麻烦
- sql - 如何将两个事实表连接到一维表