背景:我正在尝试浏览旧游戏存档文件中的资产。它们是8位的。我需要一个调色板使它们看起来正确。
我有调色板。 DxWnd支持转储活动调色板。
但是,调色板是对话框形式,具有16x16色(= 256)的拉伸。
[已更新为包含实际输出]
我想从中获取一个调色板文件。我不知道是否有调色板的标准格式,或者仅仅是(256 * 3 RGB)字节的纯旧数据。 GIMP支持一种调色板格式,您可以在导入“原始图像数据”时将其导入。
所以,问题是:将这个16x16真彩色图像转换为3x256字节调色板的块的最简单方法是什么?
是工具,Python,C / C ++还是其他。关键是,这是一个小问题(“错误的数据格式”)。因此,如果可以使用某些现有工具(Linux或Windows),则一定可以。
要绝对清楚:这不是精灵。无需将其启发式转换为某些“最合适”的调色板。字面上就是调色板。
[edit]我尝试根据注释从GIMP和IrfanView输出调色板,但是我得到了这些混乱的颜色集:
答案 0 :(得分:0)
ImageMagick将提供原始的256 * 24位RGB图像,当从图像中打开原始图像时,GIMP可以将其用作调色板:
convert UEw8E.png -resize '16x16!' -filter point -depth 8 palette.rgb
(!
表示强制设置大小,而不考虑纵横比,因为您的图像不是正方形。-filter point
会跳过下缩放滤镜。-depth 8
会强制每种颜色使用8位。尽管您的图像已经是每种颜色8位,但是最好确定要输出哪种格式。)
创建的文件palette.rgb
是图像中从左到右,从上到下的每个颜色8位(24位RGB)调色板的原始数组。 (我想是您要的)
现在使用设置打开GIMP(经2.8.22测试)的任何原始图像
palette.rgb