【发布时间】:2019-02-08 02:40:16
【问题描述】:
背景:我正在尝试查看旧游戏存档文件中的资产。它们是 8 位的。我需要一个调色板让它们看起来正确。
我有调色板。 DxWnd 支持转储活动调色板。
但是,调色板采用对话框的形式,拉伸了 16x16 色 (=256)。
[更新以包含实际输出]
- 然后我将它们缩小到每个颜色一个像素。所以现在我有了一个 16x16(真彩色)位图。
我想从中获取一个调色板文件。我不知道调色板是否有标准格式,或者它只是(RGB 为 256*3)字节的普通旧数据。 GIMP 支持在导入“原始图像数据”时可以导入的调色板格式。
所以,问题是:将这个 16x16 的真彩色值图像转换为 3x256 字节调色板块的最简单方法是什么?
无论是工具,还是 Python、C/C++ 或其他任何东西。关键是,这是一个小问题(“错误的数据格式”)。因此,如果某些现有工具(Linux 或 Windows)可以使用它,无论如何。
绝对清楚:这不是精灵。它不需要被启发式地转换为一些“最适合”的调色板。它实际上是调色板。
[edit] 根据 cmets,我尝试从 GIMP 和 IrfanView 输出调色板,但我得到了这个,而是混杂了一组颜色:
【问题讨论】:
-
在IrfanView中打开,缩小为8位,导出调色板。和你一样,我不知道你在寻找什么格式,但它可能有用。
-
我试过用 GIMP 来做,但问题是(出乎意料地)它不会以正确的顺序生成调色板!它把周围的一切都弄乱了!我会假设它会找到一个空闲槽,如果每个元素都是唯一的,它只会按顺序填充潜在调色板的“空闲槽”。但不是。我会试试 IrfanView 以防万一。
-
啊,我明白你在说什么。从技术上讲,16x16 24 位原始图像似乎是一个调色板。每个像素是 3 个颜色字节,256 个像素。如果您将其保存为原始文件,它可能会与您所拥有的一样工作。
-
仅供参考,我刚刚尝试了 IrfanView,但调色板仍然不正常。 (将更新我的帖子以显示结果)
-
你需要通过决定你想做什么以及你想怎么做来缩小问题的范围。 Stack Overflow 的工作方式是,你决定一种语言和技术。您不会要求社区提供像 “Python、C/C++ 或其他任何语言”这样的语言。
标签: python c++ linux image-processing bitmap