问题标签 [gamut]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1120 浏览

macos - 检测显示器是否支持 30 位颜色

Apple 最近在 OS X 上启用了 30 位颜色支持。他们发布了一些示例代码来展示如何启用此功能。但是,它们似乎没有提供一个示例来说明如何检测您的应用程序何时在支持 30 位颜色的显示器上运行。

我们希望能够检测显示器何时支持 30 位颜色,并且只为支持它的显示器启用 30 位颜色,否则恢复为 24 位颜色。

有谁知道这是怎么做到的吗?

到目前为止,我已经尝试使用CGDisplayAPI (CGDisplayCopyDisplayModeCGDisplayModeCopyPixelEncoding) 来查询显示器的像素编码。但这些似乎总是返回 24 位编码,并且CGDisplayModeCopyPixelEncoding在 Mac OS X 10.11 中已被弃用。我也尝试过使用NSScreen’s“深度”属性,但这也返回每像素 24 位。

内置的系统信息应用程序显然能够获取这些信息,我只是不知道他们是如何做到的。有什么提示吗?

0 投票
1 回答
3412 浏览

ios - Xcode 8 中的色域

今天我已经安装了 Xcode 8(beta) 并探索了 Storyboards。在这里,我们现在可以为不同的特征设置背景和 tintColor。那是好消息。

但是这里有特征集合(例如任何高度 X 任何宽度)还有另一种选择gamuts

这是屏幕截图在此处输入图像描述

正如我搜索的那样gamut,我发现它与颜色有关。我尝试过不同的组合,gamuts但我看不出有什么区别。

文档也没有帮助。

问题是开发人员如何获得此功能的好处?

0 投票
1 回答
1431 浏览

ios - Xcode & wide gamut images

Some related questions around Display P3 (wide gamut) image handing:

  1. Is there a file name convention for wide gamut images, like there was for retina (@2x, @3x)?
  2. Is there a way to add wide gamut versions to xcassets?
  3. If we have have sRGB MyPic.png in our Xcode project, how do we use UIImage to load a P3 version?

Or...

  1. Should we simply replace our sRGB images with Display P3 images, and let older sRGB-based devices do their best to display them?
0 投票
1 回答
318 浏览

color-profile - 广色域彩色图像在常规显示器上的外观如何?

Webkit 在https://webkit.org/blog-files/color-gamut/有一个包含广域图像示例的页面。

如果您在由色彩管理操作系统(iOS 9.3+、macOS)驱动的常规显示器上访问此页面,则 sRGB 和备用色域图像之间的许多图像看起来不同。

为什么它们不同?在我看来,它们在广色域显示器(iMac 27 英寸视网膜、iPad Pro)上的区别是相同的——橙色和红色被增强了。所以看起来广色域显示器并没有增加太多。

我猜想广色域图像会“向下”同步颜色,与 sRGB 版本无法区分。那么为什么差异非常明显呢?

0 投票
1 回答
134 浏览

colors - xyY 颜色轨迹看起来不正确

我刚刚完成了将 xyY 颜色转换为 RGB 的任务。我正在使用 sRGB 颜色空间。

当我遍历 x 和 y 坐标时,这是我得到的输出: 在此处输入图像描述

白点 (D65) 用黑色像素标记。

但是,这是我应该得到的: 在此处输入图像描述

我尽力裁剪色域(我生成了边界线,然后使用 Photoshop 删除了这些边界之外),但很明显白色区域太大,红色区域太小,等等。

我测试了几种不同的 XYZ 颜色,并用我的程序和这个网站将它们转换为 RGB,它们在误差范围内匹配 ( <0.1)。

关于什么可能导致这些问题的任何想法?

编辑

看来我的输出与如何判断 xyY 颜色是否在 CIE 1931 色域内完全相同?.

(如果我不剪辑它)

这让我相信也许我没有做错任何事,但仍然没有解释为什么维基百科的色域不同。

0 投票
2 回答
1079 浏览

colors - 为什么 1931 CIE xyY 色度图中的颜色是白色的?

当我们查看 1931 CIE 色度图时,它表示在 xyY 空间的 xy 平面内,它在亮度点处呈现白色(或接近白色),例如此处用E突出显示的 D65 点。

1931 cie色度图

但是为什么会这样呢?D65 的点应该表示为x = 0.33, y = 0.33。给定公式Y = 1 - x - y,这不是意味着 Y 是 0.34 吗?

sRGB 相关或 xyY 取决于我找到0.33,0.33,0.34每个转换器158.4182, 155.5676, 176.8565。这是浅棕色,而不是在 1931 年的每个色度图中看到的近白色。

似乎我需要缩放 Y 以获得每个通道的正确亮度值。

使用Y = 1 - x - y公式,我的图表看起来像这样,一个无声的图表:

色度图错误

我不明白什么?

编辑

设置 Y = 1,图表如下所示,效果更好。

在此处输入图像描述

编辑

现在看起来像下面这样。

在此处输入图像描述

0 投票
1 回答
29 浏览

pixel - 颜色空间如何设法表示可见颜色空间的不同大小的部分?

我最近观看了这个关于色彩空间的 YouTube 视频(链接:https ://youtu.be/iXKvwPjCGnY )。有兴趣就查了。事实证明,不同的色彩空间可以代表可见光谱的不同“子集”。并非所有这些子集的大小都相同。我不明白这是如何实现的。只要使用相同数量的字节来表示每个像素,无论编码如何,排列都只有这么多。因此有固定数量的不同颜色。现在我不了解色彩空间。也许他们确实使用了不同数量的字节。我尝试查找它,但大多数文章都过于晦涩和行话,尤其是维基百科。也许有人可以在这里帮助我?

0 投票
0 回答
133 浏览

algorithm - 如何检查颜色是否超出 cmyk 色域(范围)?

RGB模型中有一个颜色,比如rgb(255,0,0)或者#FF0000,我知道RGB色域比cmyk色域大,我也知道cmyk跟打印设备和ICC文件有关。是否有任何方法或算法可以确定超出 CMYK 色域(空间/范围),就像 Adob​​e Photoshop 的“色域警告”一样?

我有一个示例(效率不高)的方法:将 rgb 转换为 cmyk,然后将 cmyk 转换回 rgb,计算 2 种 rgb 颜色之间的距离。我觉得肯定有更好的办法,比如: if (R > 250 && G>250 && B>250) then (out of cmyk color space)=true。

有什么帮助吗?非常感谢

0 投票
0 回答
49 浏览

ios - 为什么每台机器上的 iOS 模拟器快照都不同

问题:

我尝试集成快照测试(pointfreeco 库)。在我的机器上它可以工作(Catalina macOS)

尽管我在运行它们时使用的是 iPhone 8 和 iOS 14.4,但看起来从不同机器拍摄的快照有所变化。

可能的解决方案:

设备范围可能是从一台机器到另一台机器的变化,因此会产生不同的快照。

问题:

你知道如何解决这个问题吗?或者让我知道是否有任何其他因素可能导致不同机器的输出不同?

0 投票
0 回答
22 浏览

android - 为什么 isScreenWideColorGamut() 在我的三星 AMOLED 手机上返回 false?

我有一个三星 Galaxy A50s,它有一个 sAMOLED 屏幕。因此,它应该支持Android 8.0 中引入的广色域渲染,并且我的手机运行的是 Android 11。

但是,当我在我的设备上调用Configuration.isScreenWideGamut()并运行该应用程序时,它会返回false. 我尝试在两种屏幕模式下运行该应用程序:NaturalVivid,但仍然返回 false。

这是代码:

我不知道为什么会发生这种情况,尽管 AMOLED 显示器支持除sRGB以外的广色域。

编辑:我还尝试执行广色域测试,其中红色方块内有一个隐藏的徽标。虽然,我有一个 OLED 屏幕,但我看不到隐藏的标志。