javascript - 2D Canvas : specify `arc()` radius units

标签 javascript css canvas responsive-design units-of-measurement

我一直在尝试制作一个包含 Canvas 的响应式网站。

在绘制圆形进度条时,调用 arc()函数,但它的半径参数看起来需要以像素为单位,但我需要它作为百分比、vw、vh、em 或 css 建议的任何其他单位。

当然,我可以以像素为单位渲染它并使用 CSS 拉伸(stretch)它,但它要么会放大并像素化,要么会缩小并浪费资源,或者会扭曲。

我该怎么做?

最佳答案

经过一番搜索,我偶然发现了 this question这帮助我解决了问题。

我是这样做的:

var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);

var vw = w/100;
var vh = h/100;

var pxradius = 50;
var vwradius = pxradius*vw;

不幸的是,我仍然没有解决百分比和ems

关于javascript - 2D Canvas : specify `arc()` radius units,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43923105/

相关文章:

javascript - WordPress 主题定制器中的“保存”按钮保持禁用状态

javascript - 用于条形图的 ExtJs 4 颜色主题

javascript - 将页面元素索引到 JSON 对象?或者 jQuery 每次都选择它?

html - HR(垂直线)拉伸(stretch)表格的其余部分

javascript - 拥有一个大 Canvas 还是最多 100 个动态生成的小 Canvas 更好?

javascript - 使用jquery时如何获取HTML5 Canvas ?

javascript - 如何将红色边框应用于其 href 出现在数组中的页面上的所有 <a> 元素? (javascript)

jquery - 选择 "grandchild"

html - 将文本输入和提交按钮样式设置为内联

javascript - 我怎样才能为图层 kineticjs 添加背景颜色?