当前位置: 首页 > 知识库问答 >
问题:

将RGB转换为8位

龙焱
2023-03-14

所以,我创建一个图形Bash PS1生成器使用Javascript。用户可以从调色板(jsColor库)中为他们想要的任何元素选择任何颜色。我得到的值是该颜色的RGB代表。我想将该值转换为0-255之间的数字,以便在Bash中表示。

示例:

输入:#000000

输出:0

输入:#FFFFFF

输出: 255

转换为最接近的8位表示形式的任何其他输入

**我检查了这篇文章,但答案不太起作用(我得到输入#FFFFFF输出215)。

共有2个答案

步炯
2023-03-14

这里有一个(坏)主意:

let rgb24=0x99FFBB
let r2="($rgb24 >> 16) >> 6"
echo "$r2"
let g2="(($rgb24 >> 8) % 256) >> 6"
echo "$g2"
let b2="($rgb24 % 256) >> 6"
echo "$b2"

let rgb8="($r2 << 4) + ($g2 << 2) + $b2"

printf "%x\n" $rgb24
printf "%x\n" $rgb8

现在,你们有两个颜色强度:红色,绿色和蓝色。

你如何展示这样的东西取决于你自己。最简单的方法是将每个组件的颜色移位6位,然后重建原始的24位颜色值。每种颜色总共有四种不同的强度,或64种独特的颜色。

公孙锋
2023-03-14

由于使用了调色板,您将获得0xFFFFFF的输出215。

所谓的网络安全调色板包含216(6^3)种颜色,由组件等级(ir*255/5,ig*255/5,ib*255/5)组成,用于影响ir,ig,ib=0...5,以及40种其他颜色像“金钱绿”或“嫩鲑鱼”。

因此,这种调色板的索引215实际上包含0xFFFFFFRGB。

 类似资料:
  • 更新2:XSSFWorkbook不提供对调色板的访问,因此我要问以下问题:访问XSSFWorkbook中的调色板

  • 问题内容: 我在互联网上找到了一种将RGB值转换为HSV值的方法。不幸的是,当值是R = G = B时,由于0/0操作,我得到的是NaN。 您是否知道Java中是否存在用于此转换的实现方法,或者当我获得0/0除法以获取正确的HSV值时该怎么办? 这是我的方法,它是根据Internet上的一些代码改编而成的: 问题答案: 我很确定您想要的是RGBtoHSB

  • 如何将RGB彩色图像或简单的图像转换为CMY彩色图像,并提取每个组件青色(C)洋红色(M)和黄色(Y)?我的方法:-

  • 我有一个返回十进制值的java代码,如下所示 第一个值表示红色的颜色代码,第二个值表示绿色的颜色代码,第三个值表示蓝色的颜色代码。 有没有什么方法可以将这些RGB值转换为java中相应的颜色?

  • 问题内容: 我在该主题上找到的所有内容都只是将十六进制转换为rgb,然后添加一个Alpha1。我也想从十六进制数字中获得所需的Alpha。 诸如或明显具有不为0或1的Alpha值的颜色。 问题答案: 我已经制作了一个快速的JSfiddle表格,可以将8位十六进制代码转换为CSS rgba值;) 基础很简单-将您提供的字符串分成两位数的一部分,并转换为alpha通道的百分比率和RGB通道的小数位。标

  • 我正在尝试使用Latex创建PDF文件。但是,Latex不处理TIFF或任何其他能够同时透明和CMYK的图像格式。我认为我可以使用的唯一解决方案是将PNG图像转换为PDF并将其嵌入到文件中。 我对imagemagick有点熟悉,但是,我不知道如何将PNG(可能在RGB/SRGB颜色空间中)转换为CMYK颜色空间中的PDF。 我如何进行这种转换,使颜色正确,透明度保持不变?