HTML5 Canvas 避免任何子像素渲染

2024-05-07

As seen here. https://stackoverflow.com/questions/7017998/html-5-canvas-avoid-fill-behaviour-on-overlap我在画布中的亚像素精度方面遇到了一些问题。现在我拥有更多。我正在尝试渲染硬边等距正方形,如我提供的链接中的图像所示。稍后尝试处理渲染图像中的像素数据并提取当前颜色。

但由于子像素问题,我收到的颜色实际上并不存在于原始图像中!无论我似乎从哪里开始绘制您在图像中看到的线(无论是从 [1,1] 到 [10,10] 还是 [1.5, 1.5] 到 [10.5, 10.5],这只是一个例如)我总是得到这些子像素颜色,它们破坏了我的结果!

有谁知道我如何避免这种情况或建议我应该绘制伪等距线(伪如像素艺术等距角)的正确方法,所以我的形状上有很好的硬边缘,并且我不会用任何东西破坏渲染图像一种亚像素垃圾。


经过一些详尽的研究后,似乎没有标准化的方法来阻止我所经历的事情。

抗锯齿功能只能针对某些绘图操作启用或禁用,具体取决于浏览器。

在这个堆栈溢出问题中,有一些关于如何在某些情况下避免抗锯齿的技巧:我可以关闭 HTML 元素上的抗锯齿功能吗? https://stackoverflow.com/questions/195262/can-i-turn-off-antialiasing-on-an-html-canvas-element

但唯一对我有用的方法是手动实现我自己的绘图函数来生成我想要的形状,而不需要任何抗锯齿。这将通过画布 putImageData 函数完成,并且有一个很好的教程就在这儿 http://hacks.mozilla.org/2009/06/pushing-pixels-with-canvas/关于使用它的方法。

暂时没有api支持的解决方案

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

HTML5 Canvas 避免任何子像素渲染 的相关文章

  • 在 JSP 中从 JavaScript/jQuery 调用后端 Java 方法

    我有一个 JSP 其中有一个select包含实体种类名称的列表 当我选择一个实体类型时 我需要填充另一个实体类型select包含所选实体类型的字段名称的列表 为此 我调用了一个 JavaScript 函数onchange event 在 J
  • 如何使用 React 和 Jest 模拟 onPaste 事件?

    我正在尝试在我的反应项目上使用 JEST 测试来模拟粘贴事件 我有一个外部组件 App 其中包含带有 onPaste 事件的输入字段 我想测试过去的数据并检查输入值 it on past with small code gt Create
  • PouchDB 和 CouchDB 的 Cookie 身份验证并未实际登录用户

    我有一个节点应用程序 它使用 CouchDB 作为数据库 在客户端使用 PouchDB 要登录 将向节点服务器发送请求 节点服务器使用 CouchDB 实例对用户的凭据进行身份验证 然后将 cookie 发送回客户端 问题是 重新启动浏览器
  • 匹配不可打印/非 ASCII 字符并从文本中删除

    我的 JavaScript 很生疏 所以任何有关这方面的帮助都会很棒 我需要检测字符串中的不可打印字符 控制字符 如 SOH BS 等 以及扩展 ascii 字符 如 并将其删除 但我不知道如何编写代码 谁能指出我正确的方向来解决这个问题
  • 使用谷歌图表API并通过ajax在线索提示中显示内容

    我有一个jsp页面 它使用google图表api以条形图的形式显示数据 Here https google developers appspot com chart interactive docs gallery columnchart是
  • React router + redux 导航回来不会调用 componentWillMount

    目前 我在容器组件的生命周期方法 componentWillMount 中预加载来自 api 的数据 componentWillMount const dept course this props routeParams this prop
  • JavaScript 等待函数响应

    我有以下代码 myFunc bar myFunc 正在发出 ajax 请求 在 myFunc 的请求完成之前 我不想执行 bar 我也不想将对 bar 的调用移至 myFunc 内部 可能的 EDIT 这是我最终得到的代码 var FOO
  • 通过 Javascript 不断查询服务器 - 好主意吗?

    我有一个小型网站 大约有 5 到 10 名管理员 我已将其设置为监视每个管理员正在执行的操作 添加项目 删除项目等 我的管理面板中有一个列表 显示了集体管理部门之前执行的 10 项活动 今天 我决定每 30 秒进行一次自我更新 我的问题很简
  • NodeJS 中的 uglify-js“找不到模块”

    在这里我正在创建应用程序来压缩 javascript 文件 我所做的步骤 在我的本地机器上安装了nodeJS 检查节点和 npm 正在工作 通过 npm install uglify js g 安装 uglify js 并安装 当我尝试在命
  • 没有 ssl 的 Web 加密 API

    我编写了一个用于安全消息传输的小网络应用程序 以了解有关加密的更多信息 并想向我的朋友展示它并让他们玩一下 所以我将它托管在我的小服务器上 并惊讶地发现 Web Crypto API 我竭尽全力开始工作 因为它的错误消息不是很具体 需要 S
  • 如何在单元测试中的请求之间更改 $httpBackend when[method] 语句?

    在我的测试中 我启动一些模型数据并模拟响应 beforeEach function var re new RegExp http users online httpBackend whenGET re respond id 12345 us
  • 如何从此 d3.js layout.tree 获取树祖先和树后代的列表?

    我正在尝试和修改this https bl ocks org mbostock 4339083d3 js 的示例 用于根据 JSON 树结构绘制树 这就是树的一部分开始时的样子 我正在尝试进行两个单独的修改 但我不知道该怎么做 当单击节点的
  • Express.js“app.use()需要中间件功能”

    我正在学习 Express js 4 和 Node 但遇到了一个我无法弄清楚的错误 我正在尝试使用 node sass 包来编译我的 sass 代码 但我无法启动并运行它 这是我的主文件的精简版本 var express require e
  • 单击按钮滚动到特定 div

    我有一个具有固定菜单和内容框 div 的页面 单击菜单时 内容框滚动到特定 div 到目前为止 一切都很好 这是这里的示例 https jsfiddle net ezrinn 8cdjsmb9 11 https jsfiddle net e
  • 找不到模块“babel-runtime/regenerator”本地导入与从 NPM 导入

    我正在开发一个 NPM 模块 但我的 babel 配置一直存在问题 我正在使用 ES6 特别是异步 等待 静态类方法和导入 导出 首先 我遇到了一个常见问题 ReferenceError regeneratorRuntime is not
  • 将复杂对象传递给 ui-sref 参数

    我需要这样的构建网址 列表 过滤器 状态 1 过滤器 类型 2 I do link a List a 在参数中传递复杂对象 如果传递简单对象 filter 1 可以 但我需要这个 state state list url list filt
  • 意外标记:使用映射形成对象数组[重复]

    这个问题在这里已经有答案了 我想制作这个 name james age 10 name john age 12 name johnny age 56 我的下面的代码失败了 得到了预期的令牌吗 let x name james age 10
  • 如何在 Javascript 中检测网络丢失?

    我的 Web 应用程序适用于多种手持设备 例如 iPad Galaxy 选项卡等 应用程序从服务器请求图像并在客户端上呈现 现在的问题有时会发生 在图像渲染过程中网络连接会丢失 而不是在设备上显示 html 无图像图标时 我想优雅地处理这种
  • 从 Bigcommerce 的浏览器内存中删除注入的分析库?

    我们如何删除这个脚本注入器系统并清除内存中的函数 简报 最近 Bigcommerce 的不法分子以 监控 为幌子创建了一个分析注入器 JS 该注入器被锁定在全局变量中 他们在未经任何 OP 同意的情况下将其推广到所有 50 000 家前台商
  • 高图表的分散工具提示未显示

    我有一个散点图和条形图 我无法查看酒吧上方散点的工具提示 这是小提琴http jsfiddle net tZ9Rt http jsfiddle net tZ9Rt 我正在使用这两个系列 series type scatter index 2

随机推荐

  • 设置数据漫游开/关

    如何在 Android 应用程序中以编程方式设置数据漫游开 关 提前为重新打开一个死帖子表示歉意 但我已经通过调用此可执行文件成功实现了它 su c settings put global data roaming0 1 另外 要获取第一张
  • S3 Java 客户端经常失败,并出现“内容长度分隔消息正文过早结束”或“java.net.SocketException 套接字已关闭”

    我有一个在 S3 上做很多工作的应用程序 主要是从中下载文件 我看到很多此类错误 我想知道这是否是我的代码中的问题 或者服务是否真的像这样不可靠 我用来从 S3 对象流读取的代码如下 public static final void wri
  • 如何声明朋友聚会?

    我的解决方案中有 2 个项目 装配 基础库 测试组件 NUnit 我已将测试程序集声明为第一个项目中的朋友程序集 assembly InternalsVisibleTo Company Product Tests 一切都工作正常 直到我意识
  • 在 Tensorflow 2.0 中的 tf.function input_signature 中使用字典

    我正在使用 Tensorflow 2 0 并面临以下情况 tf function def my fn items do stuff return 如果 items 是张量的字典 例如 item1 tf zeros 1 1 item2 tf
  • openNLP 与 Solr 集成时出现异常

    我正在尝试将 openNLP 与 Solr 6 1 0 集成 我配置了架构和 solrconfig 文件 详细信息请参见 wiki 链接 https wiki apache org solr OpenNLP https wiki apach
  • 选择性罐包装

    我有一个小program jar 它使用了巨大的library jar 的一小部分 有没有一种工具可以将多个 jar 重新打包成一个 以便它可以独立运行并且尽可能小 Update 大小事项 有proguard http proguard s
  • 复制具有所有关系的 Doctrine 对象

    我想复印一份他所有亲戚的记录 我正在尝试 o Doctrine getTable Table gt Find x copy object gt copy relations o gt getRelations foreach relatio
  • Kubernetes - 服务之间的通信

    我目前正在开发 kubernetes 集群 集群工作正常 我需要在不使用代理的情况下建立服务之间的通信 例如我有以下服务 worker app1 app2 app3 Worker 需要直接通过 SSH 登录应用程序容器并执行一些命令 在 d
  • 我知道 scipy curve_fit 可以做得更好

    我使用 python numpy scipy 来实现此算法 用于根据地形坡向和坡度对齐两个数字高程模型 DEM 用于量化冰川厚度变化的卫星高程数据集的联合配准和偏差校正 C Nuth 和 A K b doi 10 5194 tc 5 271
  • 通过交叉引用过滤库存

    我想通过交叉引用以及其他属性来自定义库存过滤 我为这样的库存项目添加了另外两个交叉引用项目 现在我想通过替代类型的替代 Id 值以任何其他形式自定义库存过滤器 谢谢你 没有简单的方法可以在不进行自定义的情况下在库存商品的备用 ID 上添加搜
  • 使用 NumPy 数组执行分组平均值和标准差

    我有一组数据 X Y 我的自变量值 X 不是唯一的 因此有多个重复值 我想输出一个新数组 其中包含 X unique 它是 X 的唯一值的列表 Y mean 与 X unique 对应的所有 Y 值的平均值 Y std X unique对应
  • 在 Angular 4 Reactive Forms 中提交时显示验证消息

    我正在使用 Angular 4 反应式表单 我想在用户单击 提交 创建帐户 按钮时显示验证错误消息 这是我正在使用的 HTML 和打字稿代码
  • 不同应用的 Admob 广告单元 ID 相同吗?

    Context 我们正在努力整合admob在我们的应用程序中 我们有 25 个应用程序 主要是动态壁纸 当我们在里面创建广告单元ID时admob 我们提供应用程序名称作为 Playstore 中我们自己的应用程序包名称之一 我们有两个活动
  • TFS 2012 .gitignore .hgignore 等效项

    在TFS 2012中 有一种新的本地工作模式 本地工作区 这是个好消息 没有 签出 文件 使用 VS 以外的程序中的文件时 不会再出现只读文件和问题 不再有 获取最新 实际上并未获取最新的情况 但这也意味着我需要一种方法来告诉 TFS 在监
  • 类型错误:无法读取未定义的属性“getters”

    我正在尝试测试一个引用 Vuex 商店的基本 Vue 组件 我以为我遵循了 Vue 的例子 https vue test utils vuejs org guides using with vuex html mocking getters
  • 代码::块 - 警告:GDB:无法设置控制终端:不允许操作

    我已经通过官方存储库在 Ubuntu 14 04 中安装了 Code Blocks 13 12 当我编译时 一切正常 但是当我调试时 shell 中会显示以下消息 警告 GDB 无法设置控制终端 操作不正确 允许的 程序执行到断点 但当我执
  • 在c中生成直方图

    我一直坚持在 C 中创建这个直方图 问题是任务是计算每个用户输入发生的频率 对于 1 0 6 1 5 0 7 9 0 7 gt 有 3x 0 2x 1 等 然后 必须将出现次数转换为星号 而不是出现次数 我想我已经完成了第一步和第三步 但我
  • 检测 UITextField 的焦点变化

    我正在尝试设置当键盘隐藏并出现在文本字段中时视图向上移动的动画 并且它工作得很好 但是当焦点从一个文本字段移动到另一个文本字段时 它不起作用因为键盘已经显示了 在 viewDidLoad 中 我注册了以下内容 NSNotificationC
  • Electron Autoupdater 与私有 GitHub 存储库?

    我已经使用 PRIVATE GitHub Repository 作为发布电子应用程序的提供者实现了 Electron AutoUpdater 现在 我可以使用 GitHub 存储库发布它 但是每当 AutoUpdater 尝试从 GitHu
  • HTML5 Canvas 避免任何子像素渲染

    As seen here https stackoverflow com questions 7017998 html 5 canvas avoid fill behaviour on overlap我在画布中的亚像素精度方面遇到了一些问题