镀铬中的 SVG 条带

2024-05-11

I am using a svg file to produce a smooth gradient, when I noticed some serious banding issues in Google Chrome (20). Even stranger when I moved the chrome onto my cinema display the banding noticeably reduced, which makes this even weirder. Below is a single screen grab (no photoshop at all) taken when the website spanning my mbp's native screen (left) and the cinema display (right). macbook pro native display left, cinema display right As you can see the banding is much more severe on the left. Stranger still there is near zero banding in safari FF or ie9. Below is the same situation but in FF

我有一种感觉,这可能是驱动程序问题或类似问题。但我真的很想知道。这到底是怎么回事?为什么不同屏幕的显示效果会如此不同?两台显示器上的一次屏幕抓取怎么可能会产生这样的变化?

我还刚刚注意到 FF 窗口的位置改变了渲染。当超过一半的窗口在本机显示器上时,影院侧会出现条带,但本机侧不会出现。当窗口移动到一半以上显示在影院显示屏上时,条带显示会在影院端消失并出现在本机端。 Safari 也是如此,但是 chrome 没有这种行为,条带在本机端总是更明显,而在影院端则不太明显。

这真的让我很奇怪。这里到底发生了什么?


您正在之间过渡rgb(85,85,85)在渐变的中心rgb(28,28,28)在角落。 24 位 RGB 颜色空间(8 位 RGB 空间)只有 58 种独特的灰度颜色可在该区域中显示。

在顶部图像上,从渐变角到中心的距离约为 520 像素。如果均匀间隔,这意味着一行中至少 9 个像素必须显示相同的颜色。大多数人可以轻松感知各个 8 位灰色阴影之间的差异,尤其是在颜色范围的中间。

正如 @Duopixel 正确指出的那样,您的渐变之一会抖动,有助于柔化这些颜色之间的过渡。有趣的是,在双显示器测试中,有些频段会抖动,有些则不会。这可能是因为硬件加速仅应用于一台显示器而不是另一台显示器。

失败类似10 位或 12 位灰度监视器 http://www.nvidia.com/docs/IO/40049/Grayscale10bit_v03.pdf这是您将得到的最好结果。使用您的显示器和这种设计,从技术上讲不可能获得更好的结果。

如果您想让当前的 24 位彩色显示器变得不那么明显,您可以:

  • 更改您的设计,在渐变中引入微妙的颜色变化(例如从深蓝色到灰绿色)。这会导致不同的 RGB 通道位可以在不同的时间转换,从而将您的色带分解为较小的差异化颜色。

  • 更改您的设计以增加动态范围(例如从纯白色到纯黑色),以便您可以使用更多颜色条。

  • 更改您的设计以减少渐变发生的总距离,从而减少带的宽度。

......或以上的某种组合。

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

镀铬中的 SVG 条带 的相关文章

随机推荐

  • 将应用程序级别用户名/用户 ID 注入 nginx/Apache 日志

    有没有办法将应用程序级别的用户名或 id 在本例中为 django 用户名或 id 注入 Apache 或 ngnix 日志中 请注意 我不是询问 HTTP 身份验证用户名 我目前正在使用一个简短的自定义中间件将此数据添加到响应标头 如下所
  • MetadataException:无法加载指定的元数据资源

    突然间我不断收到MetadataException在实例化我生成的ObjectContext班级 App Config 中的连接字符串看起来正确 自上次工作以来没有更改 我尝试从底层数据库重新生成一个新模型 edmx 文件 没有任何更改 有
  • 比较 PHP 中的 unix 时间戳 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在 PHP 中我有 diff abs
  • 我可以为 Android Activity 分配“默认”OnClickListener() 吗?

    我有一个 Activity 对于布局中的每个小部件 我调用 setOnClickListener 来分配我的 OnClick 处理程序 在我的 OnClick 处理程序中 我使用 switch 语句根据 View 参数的 ID 为每个按钮执
  • 在java中切换imageIcon?

    我有很多在窗口中移动的平面 线程 我想根据平面的方向切换 ImageIcon 例如 如果飞机向右飞行 则飞机的 imageIcon 是向右的 然后飞机向左飞行 则将 imageIcon 交换为飞机向左 我怎样才能在方法paintCompon
  • 媒体文件不在 cpanel 上的 django 应用程序中提供

    我有一个 django 应用程序在 cpanel 上运行 我不确定是否是我的问题 django 应用程序或 cpanel 服务器 当设置调试模式时True 我可以看到所有媒体文件 例如个人资料图片或pdf文件等 但是当设置调试模式时Fals
  • 定义自定义 Mupad 程序的一般相对搜索路径

    假设我有一个 mupad 笔记本myMupadNotebook mn在路径上 C projectFolder ABC abc 它调用程序MyMupadProcedure mu它位于 C DEF GHI 现在我有一个 Matlab 脚本mai
  • 软件音频线路输入

    这可能是也可能不是询问的地方 如果不是 就直接扔掉它 我有一个正在输出音频的软件 我想将其路由到另一个软件 简单的解决方案是将耳机插孔连接到麦克风插孔或在计算机上启用立体声混音 但是 我想要做的进一步实现将在一台机器上发生 2 个这样的实例
  • 三层 Asp.Net 应用程序中的异常处理

    1 据我了解 在three tierAsp Net应用程序我们应该通过以下方式实现异常处理 a 我们应该把try catch围绕代码块 位于三层中的任何一层 我们希望页面能够从该代码块正常恢复 当此代码生成异常时 b 我们不应该放try c
  • 在 Oracle 中创建数据库链接时出错

    我有两个数据库 需要编写跨数据库查询 所以我试图创建一个数据库链接 CREATE PUBLIC DATABASE LINK DBLink CONNECT TO SchemaName IDENTIFIED BY 123 using DBNam
  • 在 Java/Android 中检查字符串是否包含 URL 的最佳方法是什么?

    在 Java Android 中检查字符串是否包含 URL 的最佳方法是什么 最好的方法是检查字符串是否包含 com net org info 其他 或者有更好的方法吗 url 输入到 Android 中的 EditText 中 它可以是粘
  • 在 C++11 中,返回指向 std::string 中某个位置的引用/指针的最高效方法是什么?

    我正在构建一个使用的文本解析器std string作为字符串的核心存储 我知道这不是最佳的 编译器内的解析器为此使用优化的方法 在我的项目中 我不介意损失一些性能来换取更清晰和更容易的维护 一开始 我将大量文本读入内存 然后扫描每个字符以构
  • 动态/条件 SQL 连接?

    我在 MSSQL 表 TableB 中有数据 其中 dbo tableB myColumn 在特定日期后更改格式 我正在做一个简单的连接到该表 Select dbo tableB theColumnINeed from dbo tableA
  • 在 iPhone 中使用 Soap Web 服务与 wsdl2objc?

    我确实意识到这是一个重复的问题 但是唯一的其他问题已经很老了 所以我想知道是否有人最近有过使用最新版本的经验wsdl2objc http code google com p wsdl2objc 我正在编写一个应用程序 该应用程序将与第三方应
  • 图像识别后如何在vuforia sdk ImageTarget中显示布局而不是茶壶模型

    如果图像在 qualcomm vuforia sdk 中被识别 我们如何在布局中显示简单的文本 即 Hello 我正在使用 ImageTarget 的 qualcomm vuforia sdk 示例 现在它在识别图像后显示一个茶壶 我是增强
  • Java 7 watchservice获取文件更改偏移量

    我刚刚尝试使用 Java 7 WatchService 来监视文件的更改 这是我敲出的一些代码 WatchService watcher FileSystems getDefault newWatchService Path path Pa
  • 无法分配请求的地址 - 可能的原因?

    我有一个由主服务器和分布式从服务器组成的程序 从属服务器向服务器发送状态更新 如果服务器在固定时间内没有收到特定从属服务器的消息 则会将该从属服务器标记为关闭 这种情况一直在发生 通过检查日志 我发现从站只能向服务器发送一个状态更新 然后永
  • 如何在 MSVS 2012+ 编辑器(和 .NET?)中使用正则表达式替换插入“\”+“n”

    在 Visual Studio 2013 的编辑器中 我理解它与 2012 非常相似 据称使用 NET 正则表达式 我无法获取替换字符串来插入反斜杠和 n 这可能吗 我想插入 n 在第一个 之后 在 C 程序的某些 但不是全部 行上 即使字
  • 如何在pandas中将字符串转换为没有日期的日期时间

    例如issue d数据框中的列是字符串 df issue d Dec 2012 我想将字符串转换为日期时间类型而不是字符串类型 2012 12 怎么做 I use datetime strptime x b Y for x in df is
  • 镀铬中的 SVG 条带

    I am using a svg file to produce a smooth gradient when I noticed some serious banding issues in Google Chrome 20 Even s