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

将8位索引颜色转换为RGB

闻人栋
2023-03-14
short c = ((XSSFColor) color).getIndexed();
BaseColor base = new BaseColor(c);
short packed = ((XSSFColor) color).getIndexed();
log.debug("Indexed {}", packed);
int r = (packed >> 5) * 32;
int g = ((packed >> 2) << 3) * 32;
int b = (packed << 6) * 64;
BaseColor base = new BaseColor(r, g, b);

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

共有1个答案

任繁
2023-03-14

颜色指数与RGB值之间没有数学关系。是查找。

八位索引颜色意味着每个像素的颜色由数字0-255表示。这些颜色实际上是什么取决于你的托盘(就像画家会使用的一样!)因此,这八位允许你在你的图片中有256种不同的颜色。

如果您的图像是以彩色显示的,那么您在某个地方有一个托盘,它将告诉您什么索引对应于什么RGB三元组。

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

  • 所以,我创建一个图形Bash PS1生成器使用Javascript。用户可以从调色板(jsColor库)中为他们想要的任何元素选择任何颜色。我得到的值是该颜色的RGB代表。我想将该值转换为0-255之间的数字,以便在Bash中表示。 示例: 输入:#000000 输出:0 输入:#FFFFFF 输出: 255 转换为最接近的8位表示形式的任何其他输入 **我检查了这篇文章,但答案不太起作用(我得到

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

  • 问题内容: 我有一个Android应用程序,可将图像加载为位图并将其显示在ImageView中。问题在于图像似乎具有透明背景;这会导致图像上的某些黑色文本在黑色背景下消​​失。 如果将ImageView背景设置为白色,则可以完成这种工作,但是在图像上会出现丑陋的大边框,将其拉伸以适合父对象(实际图像在中间缩放)。 所以-我想将位图中的透明像素转换为纯色-但我不知道该怎么做! 任何帮助将不胜感激!

  • 这就是我所做的 这将返回一个字符串“0XFFhexcode”,我想将其转换为long,将其存储,然后将其用作颜色 我有以下错误

  • 问题内容: 为了将图形对象的Color属性保存在我的应用程序中,我将该Color的字符串表示形式保存在数据文件中。例如,对于红色,我保存:。如何将该字符串表示形式转换为Color,以便在加载数据文件后可以再次使用它? 谢谢。 问题答案: 使用“实现可能会有所不同”。而是保存以供以后重建。