【问题标题】:Get Color from Byte for 256 color image从 Byte 获取颜色以获取 256 色图像
【发布时间】:2012-08-16 19:50:47
【问题描述】:

我有一个正在解析的自定义图像格式(不是我的,我正在尝试对其进行逆向工程)。图像以 256 色存储,任何给定像素的颜色由单个字节表示。如何将该字节转换为颜色?我的猜测是它使用某种标准托盘,但我不确定如何在 c# 中访问标准的 256 色托盘来查找颜色。图像中不包含托盘或其他信息;所有的图像都是相同的尺寸并且都使用相同的神秘托盘。

有点像Get Color from int,但不是灰度。

【问题讨论】:

  • 所以你想让我们猜猜你的“自定义图像格式”是如何工作的?您可能想从这里开始:en.wikipedia.org/wiki/Indexed_color
  • 自定义格式 + 单字节 = ???。您使用的是 RGB 格式吗?索引颜色?还有什么?如果是自定义的,那么颜色是如何定义的呢?
  • @MattBurland - 如果这是我的自定义格式,我不会遇到这个问题......我正在尽我所能对这些图像使用的格式进行逆向工程。它们的尺寸都一样,使用相同的托盘,所以他们只是把所有的信息都拉出来了……不幸的是,我不知道托盘是什么。
  • 一般来说,在这种格式中,调色板是文件的一部分,你只需要找到它。在十六进制编辑器中打开它,查看它,检查图像数据本身的边界,看看它们周围还有什么。

标签: c# image-processing colors


【解决方案1】:

BitmapPalettes 类提供了一些标准的调色板。或许WebPalette 值得一试:

Color c = BitmapPalettes.WebPalette.Colors[colorIndex];

【讨论】:

  • 这看起来是个不错的起点,我会试一试,然后告诉你进展如何。
猜你喜欢
  • 2010-12-17
  • 2013-07-21
  • 1970-01-01
  • 2019-07-27
  • 1970-01-01
  • 2018-11-27
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
相关资源
最近更新 更多