HTML5 画布响应能力不起作用

2023-11-29

我正在尝试使用 HTML5 画布元素绘制一组圆圈(如图所示).

当我调整浏览器大小时,上图会被裁剪。我希望它在调整浏览器大小时能够响应。

请帮助我使其响应。谢谢。

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

canvas.width = window.innerWidth; /// equal to window dimension
canvas.height = window.innerHeight;

var radius = canvas.height / 2;
ctx.translate(radius, radius);
radius = radius * 0.9;
drawClock();

function drawClock() {
  drawCircle(ctx, radius);
}

function drawCircle(ctx, radius) {
  var ang;
  var num;

  for (num = 1; num <= 40; num++) {
    ang = num * Math.PI / 20;
    ctx.rotate(ang);
    ctx.translate(0, -radius * 0.85);
    ctx.rotate(-ang);
    ctx.beginPath();
    ctx.arc(0, 0, radius / 20, 0, 2 * Math.PI);
    ctx.stroke();
    ctx.rotate(ang);
    ctx.translate(0, radius * 0.85);
    ctx.rotate(-ang);
  }
}
#canvas {
  display: block;
}
<canvas id="canvas"></canvas>

宽度和高度在初始化画布元素时设置,因此您需要监听窗口调整大小事件并重置画布宽度和高度。

window.onresize = function() {
  canvas.width = window.innerWidth;
  canvas.height = window.innerHeight;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML5 画布响应能力不起作用 的相关文章

  • Angular 2 TypeError:无法读取 null 的属性“animate”

    我正在使用 Chrome 51 和 Angular 2 rc4 并在加载我的 Angular 应用程序时在控制台中弹出以下错误 TypeError Cannot read property animate of null at e supp
  • 可以跨 iframe 共享 javascript 导入吗?

    我有一个 Web 应用程序 其中有多个 iframe 它们都需要导入相同的 javascript 库 例如 jquery 有没有办法只加载一次并以某种方式在所有 iframe 之间共享该数据 我不想让我的页面加载缓慢 因为它为每个 ifra
  • 客户端 GitHub 身份验证

    我正在使用 Javascript 对 GitHub 进行基本身份验证 例如 以下 shell 命令从 Github 获取令牌 curl i u uaername password k d scopes repo https api gith
  • 如何在 Bootstrap 中将单选按钮设置为“选中”? [复制]

    这个问题在这里已经有答案了 我使用 Bootstrap 按钮作为单选按钮 http getbootstrap com javascript buttons http getbootstrap com javascript buttons 这
  • 如何捕获jquery中的任何点击事件[重复]

    这个问题在这里已经有答案了 我有一个按钮 当单击它时 会显示一个带有图像的 div 例如聊天的表情符号面板 如果我再次单击它 div 会隐藏 但我想要做的是 如果 div 已经显示 然后我单击页面的任何其他内容 我想隐藏它 我试过这个 my
  • 获取访客的 Optimizely A/B 测试和变化

    当我在网站上运行实验时 我希望能够找出当前访问者看到的测试和变体 我无法找到如何做到这一点优化Javascript API https www optimizely com docs api 您可以获得第一个正在运行的实验的 ID 假设您有
  • jQuery:“$(this).next().next()”有效,但“$(this).next('.div')”无效

    好吧 我正在尝试将这组信息单独隐藏 这有效 arrow click function this next next slideToggle img class arrow src https via placeholder com 40 h
  • 在 Javascript 中隐藏按钮

    在我最新的程序中 有一个按钮 单击时会显示一些输入弹出框 这些框消失后 如何隐藏按钮 You can set its visibility财产 http www w3schools com cssref pr class visibilit
  • html/js 中从右到左和/或从上到下的文本?

    如何在浏览器中为用户输入创建从右到左和从上到下的文本字段 有没有本地方法可以做到这一点 或者也许有解决方法 从上到下可能像日语或象形文字 对于 RTL 文本字段 您可以使用 HTMLdir属性 如 ime Vidas 已经提到的 或 wit
  • 设置三个输入数字的最大值

    我有三个输入数字
  • 在 Bootstrap 选择器上使用 jQuery 取消选择选项

    我对一些 UI 元素使用 Bootstrap SelectPicker 它允许用户选择多个选项并将其呈现在段落标签中的屏幕上 他们还应该能够删除选定的选项 这是我的代码 用于将选定的选项渲染到屏幕上 以便每个选项旁边都会显示一个 X 单击它
  • 将“http://”添加到尚未包含“http://”的 URL 前面

    我有一个input保存 URL 的字段 我希望这个保存的输入能够识别变量开头不存在 Http 但不知道从哪里开始 是否可以仅检查字符串的一部分 然后有一个在必要时追加的函数 如果您还想允许 https 我会使用如下正则表达式 if http
  • javascript 中的工厂模式与构造函数模式[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我看到了关于 javascript 设计模式的教程 虽然教程很好 但它给我留下了很少的问题 正如我所见 工厂和构造函数产生相同的结果
  • 在 ReactJS 中更改 URL onClick

    在我的项目中我有一个TabComponent它显示 3 个选项卡 首页 热门 全部 现在 我正在使用context反应维持 activetab它存储当前选项卡 toggleTab改变的方法activetab using setState 选
  • 如何转义 onClick 处理程序内 JavaScript 代码中的字符串?

    也许我只是想得太难了 但我在弄清楚链接的 onClick 处理程序内的某些 JavaScript 代码中的字符串上使用什么转义时遇到了问题 例子 a href Select a The and 是发生模板替换的地方 我的问题是项目名称可以包
  • Lighthouse 多个 URL

    我需要对一个网站进行全面审核 但我想知道是否有任何方法可以让 Lighthouse 做到这一点 我知道他们不支持完整的站点审核或多个 URL 但我发现可以使用 bash 脚本来完成 因此 我将不胜感激对此案的任何帮助 或者您可能会推荐任何灯
  • 尝试将远程图像转换为 Base64 数据时出现 CORS 错误[重复]

    这个问题在这里已经有答案了 我需要将远程图像转换为给定其 URL 的 base64 但我遇到了 CORS 错误 并且不确定如何解决 我遵循了这个问题的一些解决方案 如何使用javascript将图像转换为base64字符串 https st
  • JavaScript 模板文字稍后替换变量(在知道值之前)

    是否可以在已知值之前以某种方式使用模板文字 JS 模板文字的每个演示都如下所示 var name John var s Hello name 但在现实世界中 模板是在我们知道变量值之前定义的 某处定义了模板 在页面加载时 var s Hel
  • 如何使用 jQuery 解析 JavaScript 对象

    jQuery JavaScript 中用于解析 JSON 对象并返回键 值对的 foreach 等效项是什么 JSON 对象 是什么意思 JSON 是一种用于序列化对象的文本格式 如果要循环访问通过反序列化 JSON 字符串获得的对象中的属
  • ASP.NET MVC3 Ajax.ActionLink - 条件确认对话框

    我有一个 Ajax ActionLink 仅当满足某些条件 用户有未保存的更改 时 我才希望显示一个确认对话框 我创建了一个 JavaScript 函数 它根据需要显示确认对话框 并根据响应返回 true 或 false 我将其绑定到 Ac

随机推荐

  • 如何偏移元素的第 n 个子元素

    我正在尝试提取元素的第 n 个子元素 以便元素显示堆叠在同一个容器中 我试过读一遍https developer mozilla org en US docs Web CSS nth child 但无济于事 我在 jsfiddle 中重现了
  • 散景叠加 GridPlot 中的多个绘图对象

    假设我有一个类 它保存一些数据并实现一个返回散景图的函数 import bokeh plotting as bk class Data def plot self kwargs do something to retrieve data r
  • 不使用 numpy 搜索二维列表

    我正在定义一个接受两个参数的函数 int and a list 如果该函数在列表中找到该整数 则返回其值坐标 例如 我该如何处理以下列表中的数字 4 不使用numpy l 0 0 0 0 0 0 0 0 0 0 2 1 1 0 1 1 1
  • 是否可以在 css 中创建 2 轴 4 颜色渐变(双线性渐变)?

    我的 JavaScript 示例和
  • 定时器(System.Threading)线程安全

    有谁知道这段代码是否是线程安全的 或者我在调用timer2 Change时是否必须使用锁 Timer timer1 new Timer timerCallback1 Timer timer2 new Timer timerCallback2
  • “错误:并非所有代码路径都会返回值。”

    我的代码在编译时抛出名义异常 我不明白为什么会发生这种情况 因为经过广泛搜索后 发生错误的原因似乎只有在没有退出返回语句的情况下才存在 但我认为我的代码是完全包容的 bool CheckExisting Account loginAcc n
  • 制作 Python 扇形图/扇形图

    我正在寻找用Python制作一个扇形图类型的线图 它类似于英格兰银行利率扇形图像这个 我非常擅长使用 matplotlib 来绘制标准线 条形图 散点图 但这似乎需要一些更自定义的实现 我在 Google 上搜索过 但似乎找不到任何执行此类
  • Google ARCore 域模型示例

    我正在尝试阅读并理解 Google ARCore 的域模型 特别是安卓软件开发工具包包 目前该SDK位于 preview 模式 因此没有任何教程 博客 文章等可以帮助您了解如何使用该 API 甚至 Google 本身也建议仅阅读源代码 源代
  • 如何将图像裁剪为圆形?

    我正在尝试将图像裁剪为圆形 其中圆形之外的区域是白色的 新的图像尺寸将与原始图像尺寸相同 只是有效地舍入图像 我熟悉如何使用 GDI 裁剪图像 通过获取现有图像并将其复制到新图像中来绘制矩形 正方形 但我不知道如何用白色填充圆弧 圆形的外部
  • 下拉选择表单,转到提交时的 URL

    有没有一种简单的方法可以让用户从 SUBMIT 上的下拉列表转到 URL 而不是 onChange 我有这个代码
  • 突然的错误请求 - 调试 Visual Studio 期间动词无效

    在开发过程中我突然开始收到以下错误消息 Bad Request Invalid Verb HTTP Error 400 The request verb is invalid 正在开发的网站通过 Visual Studio 在 ISSExp
  • 使用 Android Gradle Plugin v. 3.5.2 构建 Android 项目时,我的构建失败

    具有以下内容 at android databinding tool expr Expr resolveListeners Expr java 211 at android databinding tool expr Expr resolv
  • 默认情况下将参数设置为等于另一个参数的值

    我见过很多次 Python 程序员 包括我自己 希望给定函数中的变量默认为另一个变量 如果未给出该值 这是针对问题的三种不同解决方案的演练 每种解决方案的复杂性和稳健性都在增加 那么 继续吧 这是给你的 如果你会说 我正在尝试这样做 def
  • 重置/修复 Xcode 4.5 代码完成

    Xcode 4 5 中的新 功能 之一应该是极大地改进代码完成 它应该定期了解您输入的内容 并更频繁地提供这些内容作为代码完成的选项 然而 对我来说这根本不起作用 NSString 是著名的糟糕代码完成词之一 当我输入它时 我得到 NS N
  • styles.xml 中的自定义属性

    我创建了一个自定义小部件 并在layout xml 中声明它 我还在 attr xml 中添加了一些自定义属性 但是 当尝试在 styles xml 中的样式中声明这些属性时 它给了我No resource found that match
  • wix,安装文件并运行bat文件

    我在使用 wix 构建 msi 安装程序时遇到问题 该安装程序将安装一些 bat 文件并运行它 我在互联网上找到了一些示例 但我无法使其工作 这是我的 wix 源文件
  • 使用“var{args}”进行初始化是 C++0x 的新功能,还是仅仅是语法糖?

    我正在读C 0x 常见问题解答并遇到了详细说明初始值设定项列表的部分 这些例子主要是以下内容的变体 vector
  • 不允许 HTTP 405 - Spring Boot + Spring Security

    我有一个简单的 REST API 可以与数据库一起使用 在我添加安全部分之前它工作正常 现在 它在 POST 和 DELETE 请求上给出 HTTP 405 Not allowed 我不知道为什么 GET 请求工作正常 所以这是控制器类 C
  • Android:如何为 Android 应用程序使用 GCP 服务帐户

    我在我的应用程序中使用 Google 路线 api 最近 我收到 Google 关于 API 密钥的警告 Your app contains exposed Google Cloud Platform GCP API keys 这是因为方向
  • HTML5 画布响应能力不起作用

    我正在尝试使用 HTML5 画布元素绘制一组圆圈 如图所示 当我调整浏览器大小时 上图会被裁剪 我希望它在调整浏览器大小时能够响应 请帮助我使其响应 谢谢 var canvas document getElementById canvas