javascript - Canvas 尺寸问题

标签 javascript html css canvas

我正在尝试使用 Canvas 作为我的网页的标题,我想画一些类似于天空的东西,但由于我的 Canvas 被拉伸(stretch)了,我的内容也被拉伸(stretch)了。

是否可以使用具有这些尺寸的 Canvas 并仍然获得正确的比例?

http://jsfiddle.net/ja98N/

如有任何帮助,我们将不胜感激。

body{
    background-color:black;
    margin:0px;
}

#sky{
    background: aqua;
    height: 70px;
}

#myCanvas{
    width: 100%;
    height: 100%;
}

最佳答案

这将解决问题。我只在您的 Javascript 代码中添加了 2 行:

var canvas = document.getElementById("myCanvas");

canvas.width = document.getElementById('sky').offsetWidth;
canvas.height = document.getElementById('sky').offsetHeight;

if (canvas.getContext) {
    var context = canvas.getContext("2d");
    context.beginPath();
    context.arc(50, 50, 8, 0 , 2 * Math.PI);
    context.stroke();
}

在这里 fiddle :http://jsfiddle.net/z2YdL/2/

关于javascript - Canvas 尺寸问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23082664/

相关文章:

javascript - lint 严格违反使用 (this)

javascript - 如何刷新 Meteor.Router 订阅的数据?

JavaScript id + 类 vs. 类选择器性能

html - HTML5 Web音频API-临时录制声音

javascript - 如何从元素内部选择 Bootstrap 选项卡的文本

html - CSS li a 'cursor:pointer' 在 div 中不工作

javascript - 更改 angularJS 中的输入字段

html - Bootstrap 4 导航 sticky-top 停止工作

jQuery 动画不起作用

asp.net - 包含 Modernizr JS 库会使 asp.net 站点的整个 <body> 内容无法呈现