visual-studio - .vssettings 文件(Visual Studio 设置)颜色格式

标签 visual-studio hex rgb sublimetext vssettings

我正在为基于 Visual Studio 主题的 Sublime 文本创建自己的配色方案。

Visual Studio 主题定义了前景和背景,但它们不在标准 RGB 三元组中。我不知道这个数字是什么意思,我想知道如何将它转换为 RGB 三元组(即 #FFFFFF)以用于 Sublime Text。

样本:

<Item Name="Comment" Foreground="0x007B7466" Background="0x02000000" BoldFont="No"/>
<Item Name="Plain Text" Foreground="0x00F3F2F1" Background="0x002A2822" BoldFont="No"/>
<Item Name="Selected Text" Foreground="0x00FFFFFF" Background="0x0064614F" BoldFont="No"/>

我试过在这里和谷歌上搜索,但显然我无法让我的搜索词正确找到正确的答案。

最佳答案

这些乍一看(并了解 MS 喜欢如何处理颜色)是十六进制形式的 ARGB 或 XRGB DWORD。但是,根据您在做什么,它们可能是 A/XBGR。

最有可能的是,前两个字符是 alpha,然后是红色、绿色和蓝色。这是一种非常标准的颜色布局方式,因为它巧妙地适合内存寄存器并匹配几种格式的纹理数据。

但是,有些地方喜欢颠倒它,这与其他纹理格式相匹配。 A/X 保持在开始位置,然后是蓝色、绿色和红色。

通过提供 0x00FF0000,这应该很容易测试。如果是蓝色,则为 BGR,如果为红色,则为 RGB。

他们可能将第一个 channel /字节用作 alpha 以外的其他东西。将数据打包到 3 channel 纹理的 alpha channel 中并不少见。但是,只有一种颜色是 0x02...,其余的都是 0x00...,所以我不会这样(那里还有一个 3.5 字节的颜色,所以可能是错别字)。

您不需要对这些进行任何转换,因为它们已经是十六进制(实际代码十六进制,而不是 #... 网络内容)。要“转换”网络十六进制三元组,只需删除 # 并添加 0x00你应该很好。所有其他字符保持不变(大小写无关紧要,尽管有些人喜欢大写作为程序)。

关于visual-studio - .vssettings 文件(Visual Studio 设置)颜色格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004915/

相关文章:

c# - 我的 Access 数据库不更新 (ASP.NET)

math - 如何使用大脑将十进制转换为十六进制?

python : Convert hex value : from big-endian to little endian and then to decimal

c++ - 错误 : Total size of array must not exceed 0x7fffffff bytes

c++ - 简单密集光流程序 calcOpticalFlowFarneback() openCV 3.2 cpp

perl - 在 Perl 中获取十六进制字符串的 SHA1 HMAC

image - 在Matlab中仅将黑色转换为白色

plot - RGB 图像分量未对齐

python - 如何使用 OpenCV 在图像中获取多个对象(例如小扁 bean 种子)的平均 RGB 值

visual-studio - 是否有提供存储库根目录的 MSBuild 属性?