如何缩放 HTML5 画布而不使其变得模糊?

2023-12-05

我使用以下标记创建了画布:

<canvas id="canvas"></canvas>

现在,如果我指定width and height直接在这里,那么画布上的图画就会非常清晰。

<canvas id="canvas" width="600px" height="400px"></canvas>

但这样我就无法灵活地缩放画布以覆盖每个屏幕尺寸。使用vh or vw而不是像素也不起作用。我尝试在 JavaScript 中设置它们,例如:

$('#canvas').css({
   "height": window.innerHeight,
   "width": window.innerWidth
 });

这覆盖了整个画布,但使线条变得模糊。有什么方法可以在画布仍然覆盖整个屏幕的情况下获得清晰的图像吗?

我尝试使用:

$("#canvas")
.prop("width", window.innerWidth)
.prop("height", window.innerHeight);

但画布上的对象(例如我画的圆圈)仍然模糊。当我打开 devTools 时,我看到以下标记:

<canvas id="canvas" style="height: 768px; width: 1366px;"></canvas>

所以,我猜宽度和高度仍然是由 CSS 定义的。


Canvas CSS 属性不会调整画布大小,而是会调整其大小。
您可以简单地使用 JS 更改属性:

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

如何缩放 HTML5 画布而不使其变得模糊? 的相关文章

  • 当有多列时,Flex 容器计算一列

    我有一个li共 15 项显示为flex direction column 它应用于父级 ul 然后我有一个div包裹着ul拥有以下财产justify content center 问题是 div计算ul就好像它只有一列 即使我有多列 所以宽
  • 打字稿 keyof 返回字符串数组

    假设我有一堂课 class Test propA propB propC 我想创建一个返回字符串数组的方法 并将其键入为仅 Test 类中存在的键 我该如何使用keyof特征 class Test propA propB propC get
  • 使用 Leaflet 加载页面时 moveend 事件多次触发

    我需要在地图平移或缩放时执行一些操作 因此我向该事件附加了一个回调moveend map on moveend function code stuff 它工作正常 但是当页面加载时 该事件被触发三次 我不知道为什么 可能是因为在创建过程中地
  • 类型“AngularFirestoreCollection”上不存在属性“onSnapshot”

    我正在尝试将侦听器与云 Firebase 分离 但仍然收到此错误 类型 AngularFirestoreCollection 上不存在属性 onSnapshot 你知道我应该进口什么吗 我直接从 Firebase 文档中复制此代码 let
  • 如何使用 d3.js 沿 GeoJSON 路径对对象进行动画处理?

    我正在使用 D3 js 从 GeoJSON 文件生成并渲染路径 效果很好 但现在我想沿着该路径为对象设置动画 我知道如何使用 D3 和标准 SVG 来做到这一点 创建过渡并设置其持续时间 对于过渡的每一帧 使用 Complete 查找沿路径
  • CSS 样式的段落,带有段落编号和旁注

    我想在网上发布一段带有段落编号和旁注的文本 我正在使用 哈克贝利 费恩历险记 作为测试 参见http jsfiddle net 29Mdt http jsfiddle net 29Mdt 我希望将段落编号放在左侧边距中 将旁注放在右侧边距中
  • 整理 CSS 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在整理一个以前由不同的人修改过的网站 这是我拥有的页面的骨架 测试 html http pastry se 94064 nav css ht
  • 使用 forEach 循环 Array(n),未定义值的数组[重复]

    这个问题在这里已经有答案了 我想快速构建一个数组n使用数组构造函数的长度Array 然后循环得到的数组 Per MDN 的文档 https developer mozilla org en US docs Web JavaScript Re
  • 从 Angular 4 中的 html 中删除主机组件标签

    我有一个表 我想在其中显示一个表行 它是一个组件 我还想将数据传递给该组件 table th td col 1 td td col 2 td td col 3 td th tr tr table
  • QUnit 不会运行测试

    我刚刚开始使用 QUnit 并遇到问题 我目前正在使用 TypeScript 它是一个 JavaScript 编译器 我在与我的主要课程结构平行的课程中进行测试 在每个类中 我都有一个名为 runTests 的函数 为了执行这些测试 我循环
  • 如何在鼠标悬停时覆盖 div / box?

    我有一个链接 当用户将鼠标悬停在其上时 它应该在链接下显示一个框 div 盒子应该覆盖其下方的所有内容 我如何使用 css 或 javascript 来做到这一点 您有一个隐藏的绝对定位的 div 和链接的子级 然后 当您将鼠标悬停在链接上
  • 使用 CSS 滤镜模拟 Photoshop 的“颜色叠加”?

    我有一个图标 我想使用 CSS 更改其颜色 它是内嵌在 CSS 中的经过数据 uri 优化的 SVG 通常情况下 这wasn t可能的 这就是发明图标字体的原因 与 SVG 相比 它们的主要优势是能够接收color and text sha
  • 无法读取未定义的属性“isLoggedIn”

    此代码用于添加产品 然后添加到购物车和订单 并在后端使用 mongodb 创建 pdf 实际上 session isLoggedIn 是在 auth js 中定义的 检查该代码 但仍在 app js 中它给出了此错误 应用程序 JS代码 c
  • JavaScript 中什么可能会打乱我的查询字符串参数构造函数?

    所以这可能是一个很长的机会 但我完全不知道可能导致这个问题的原因 我正在提供一个客户端 JavaScript 它解析嵌入的页面上的某些参数 使用这些参数构建 URL 并使用该 URL 将 iframe 注入到页面中 如下所示 var que
  • ABSMIDDLE 在 Firefox 和 Chrome 上的工作方式不同吗?

    我有一个图标图像和文本 如下所示 一切的代码来源是 img src align left My Title Here 问题在于 与 Firefox 相比 Chrome 中的图标没有与标题垂直对齐 我觉得absmiddle根本不起作用 有什么
  • 迭代 Javascript 对象[重复]

    这个问题在这里已经有答案了 我有一个 Javascript 对象 var a tag1 Stocks acctType1 individual compare1 contains match name1 scrapedaccounttype
  • 将 jQuery 集成到电子应用程序中

    我正在尝试将 jquery 功能添加到用 Electron 编写的桌面应用程序中 使用电子快速启动存储库 我将下载的 jquery 文件添加到main html像这样的文件 or so 然后在index js我正在文件中添加代码create
  • Json 对象 - 获取键和值

    我是 JSON 的新手 所以 如果这是一个非常基本的疑问 请不要责骂我 我有一个 JSON 对象引用 我想获取 Key 对象只有一个键值对 我如何在 Java 中获得它 您可以使用jsonObject keys 获取所有钥匙 然后您可以迭代
  • 如何使用 JavaScript 禁用 HTML 按钮?

    我读到过 您可以通过简单地附加来禁用 使其物理上不可点击 HTML 按钮disable添加到其标签 但不作为属性 如下所示
  • 模块模式和这个

    我正在为我的 JavaScript 类 使用模块模式 声明有什么重大缺点吗 var self在课外我返回然后将其设置为this在类构造函数内部 这样当我不希望发生上下文切换时 我就不必担心上下文切换 在这个小例子中 可能没有必要 这只是一个

随机推荐

  • 从活动之外的类启动意图

    我有两项活动 其中一项称为MyActivity 我希望他们都能够使用位于我们可以调用的类中的函数MyClass In MyClass 我尝试使用意图来启动活动AnotherActivity 由于构造函数采用上下文作为参数 因此我只是尝试在构
  • Hibernate @Version 注释

    hibernate version 和 ManyToOne Mapping 之间的关系是什么 假设我有两个表 部门 和 员工 这是部门是主表 和明细表中的员工 在 Employee 表中 部门 ID 作为外键引用 这是我的课程 Public
  • 在 PowerShell 上将节点从一个 XML 导入到另一个 XML

    我需要将名称为 ProjectOptions 的节点从default xml 复制到original xml 而不修改任何其他内容 原始 xml
  • 如何将 Google 数据存储用于未托管在 Google 应用引擎中的网络应用?

    我想在我的网络应用程序中使用谷歌的数据存储 但不想将其托管在谷歌应用程序引擎中 我想将其托管在其他机器上 那么我如何在这样的网络应用程序中使用数据存储 会更经济吗 您需要遵循从其他平台访问 Cloud Datastore API程序 本部分
  • 列表的 ViewModel 验证

    我有以下视图模型定义 public class AccessRequestViewModel public Request Request get private set public SelectList Buildings get pr
  • Rust *准确地*如何查找模块?

    Rust 用于从文件中查找模块的确切规则集是什么 我在网上找到的关于模块的每一个解释都说 这是模块的目的 这是一个例子 没有一个给出完整 全面 100 准确的解释Rust 如何查找模块 就连铁锈参考没有告诉您板条箱根和导入文件是否都需要声明
  • 使用 printf 连续打印数字并填充零

    在 C 中 使用 printf 我想打印一个数字序列 所以我从 for 循环中得到 1 2 9 10 11 我根据这些数字创建文件 但是当我使用 ls 列出它们时我得到 10 11 1 2 因此 我不知道如何打印 而不是尝试使用 bash
  • 使用 FileSavePicker 在 Windows Phone 8.1 中保存图像

    我想使用文件保存选择器保存图像 我在用this保存链接 但它仅适用于文本 我如何修改它以保存图像 正如你所提供的the link那么我假设你设法得到了存储文件 after 延续 这就是它在 WP8 1 运行时的工作方式 我还假设你有一个St
  • Scala 的 apply() 方法魔法是如何工作的?

    在 Scala 中 如果我定义一个名为apply在类或顶级对象中 每当我将一对括号附加到该类的实例 并为apply 在他们之间 例如 class Foo x Int def apply y Int x x y y val f new Foo
  • ASP.Net Ajax - PageMethods 同步调用和检索结果

    如何在ASP Net Ajax PageMethods中同步调用并检索结果 目前我正在做以下事情async调用并处理数据 function checkName name PageMethods IsAvailable name onSucc
  • 发送带有返回路径的电子邮件不起作用

    我在用System Net Mail电子邮件 在代码中 我设置电子邮件的返回路径如下 string sReturnPath ConfigurationManager AppSettings ReturnPath ToString if sR
  • event 是一个全局变量,可以在回调链中的任何地方访问吗?

    我只是用 DOM 和 Javascript 来玩弄事件监听器 并注意到了这一点 function chained msg console log msg event function onClick chained the body was
  • 即使没有网络可用,如何保存 WebView 内容以供显示?

    我正在创建一个应用程序并使用 WebView 来打开 URL 我看到一些应用程序向用户提供 保存页面 网页 选项 我想知道如何从 WebView 保存页面 以便我可以在用户请求时将其显示给用户 也许使用缓存是最好的方法 为此你应该检查htt
  • 为什么这个 jQuery 事件不会在 Gmail 中触发?

    我在将 jQuery 事件绑定到 gmail body 时遇到问题 body on click function event console log Entered function 访问 IMDB com 例如 并在 Google Chr
  • 使用 DOMPDF 和重定向创建 PDF

    在 PHP 项目中 我需要创建一个 PDF 文件 并在用户单击 提交 按钮时重定向到另一个页面 我已经成功使用创建了 pdf 文件DOMPDF PDF 创建在单独的文件中完成 PDFRecipt php 当用户单击主页上的按钮时 我已调用该
  • Lambda 表达式返回错误

    这是我的代码 SomeFunction m gt ViewData AllEmployees Where c gt c LeaderID m UserID 它返回此错误 并非所有代码路径都返回 lambda 表达式类型的值System Fu
  • SDK19 启动时相机2 库崩溃的 Android 应用程序

    我在我的应用程序中使用 androidx camera camera2 库 该库适用于 SDK 21 及更高版本 但我希望允许用户在没有camera2支持的情况下启动SDK 19的应用程序 我在代码中检查了 SDK 版本 但应用程序在启动时
  • Laravel 5:找不到“HTML”类

    我刚刚开始使用 Laravel 我处于控制器方法中 我说 return View make scrape data 然后在 scrape blade php 中我有 extends layouts master 最后 在 layouts m
  • 未收到 Firebase Cloud Messaging 的 Android 后台通知

    我搜索了很多有关应用程序在后台或关闭时的通知的信息 顺便说一句 我正在使用 Firebase 云消息传递 这对我不起作用 我使用了 Android 设置 当应用程序位于前台或手机未锁定时 会收到通知 安装后 令牌会正确打印并订阅该主题 当我
  • 如何缩放 HTML5 画布而不使其变得模糊?

    我使用以下标记创建了画布