图像转换 - 用于游戏的 RAW 到 png/raw (Pac The Man X)

Posted

技术标签:

【中文标题】图像转换 - 用于游戏的 RAW 到 png/raw (Pac The Man X)【英文标题】:Image Conversion - RAW to png/raw for game (Pac The Man X) 【发布时间】:2020-11-08 12:26:37 【问题描述】:

所以我有原始图像,我只是好奇如果我可以编辑这样的图像以保存为 RGB-32 打包透明交错原始图像以及我可以使用什么程序,有规范: Format of RAW image

我曾尝试使用 Photoshop,但游戏崩溃了。甚至可能吗?我应该得到没有缩略图的文件。我也尝试过使用 gimp、免费转换器和 Raw 查看器,但没有运气。有什么建议吗?

编辑: 使用 Photoshop(与透明格式交错),游戏开始,但图像只是一堆像素。

file that i try to prepare (221bits)

【问题讨论】:

如果你澄清它,我可能会回答你的问题。您的图像当前是什么格式,您希望它是什么格式?目前它说你有一个原始图像并且你想要一个原始图像 - 所以你已经有了你想要的东西,确定吗?您共享的图像是 221196 字节,因此如果是 RGBA,我们必须将其除以 4 以获得像素数,这意味着有 55299 像素,这意味着您的图像只能是 18433x3 像素(因为这些是除数)但是看起来不太可能的形状。所以,请说明ghost.raw 的高度、宽度和格式,以及您希望它转换成什么格式。 它可能是 512x512,但似乎正确渲染为 512x108-112。 【参考方案1】:

我们仍然无法处理您真正想要实现的输出格式。让我们尝试从头开始生成一个文件,看看我们是否可以到达那里。

所以,让我们使用 Mac 上可用的简单命令,并根据第一原理生成一些测试图像。从您在问题中分享的完全相同相同的ghost.raw 图像开始。我们将前 12 个字节作为头部,然后生成一个充满红色像素的文件,看看是否可行:

# Grab first 12 bytes from "ghost.raw" and start a new file "red.raw"
head -c 12 ghost.raw > red.raw

# Now generate 512x108 pixels, where red=ff, green=00, blue=01, alpha=fe and append to "red.raw"
perl -E 'say "ff0001fe" x (512*108)' | xxd -r -p >> red.raw

所以您可以尝试使用red.raw 代替ghost.raw 并告诉我会发生什么。

现在尝试同样生成一个蓝色文件:

# Grab first 12 bytes from "ghost.raw" and start a new file "blue.raw"
head -c 12 ghost.raw > blue.raw

# Now generate 512x108 pixels, where red=00, green=01, blue=ff, alpha=fe and append to "blue.raw"
perl -E 'say "0001fffe" x (512*108)' | xxd -r -p >> blue.raw

然后试试blue.raw


原答案

AFAIK,您的图像实际上是 512 像素宽 x 108 像素高的 RGBA8888 格式,开头有 12 字节的标题 - 生成 12 + 4*(512 * 108) 字节。

您可以使用 ImageMagick 将其转换为 PNG 或 JPEG,如下所示:

magick -size 512x108+12 -depth 8 RGBA:ghost.raw result.png

我仍然不明白您的问题或 cmets 您真正想要什么格式 - 所以如果您澄清这一点,我希望我们能回答您。

【讨论】:

嗯,它似乎只有在 8 位时才有效(来自 photoshop),就像那样。将尝试此图像和转换方法,但我对此表示怀疑,因为它可能为游戏目的更改了位图代码。游戏使用原始文件,如下所示,来自 Photoshop 的图像以灰度和怪异的形式出现。 以及如何转换回原始格式(12 字节标头,RGBA8888,8 位,4 * (512 * 108))???另外我需要 Mac OS X 格式而不是 Windows 并且需要在 Windows 下执行 vm cuz imagemagick 似乎不适用于 Mac Pro。 我得到了魔法:意外的文件结尾'ghost.png':在尝试转换为原始文件时没有这样的文件或目录@error/rg b.c/ReadRGBImage/247。 这是它在转换回i.stack.imgur.com/soZJ3.pngmagick -size 512x512+12 -depth 32 ghost.png RGBA:ghost.raw 后在游戏中的显示方式。我需要使用 sRGB 还是 sth??? 你仍然没有解释你想要做什么,也没有解释你需要输出什么格式。你只是一直说它不起作用并引入了新的障碍/问题,比如 “ImageMagick 无法在 Mac 上运行”“没有 Photoshop”。请问你想要什么格式的结果?【参考方案2】:

尝试使用在线转换器。他们大部分时间都有帮助。\

这样的网站可能会有所帮助:

https://www.freeconvert.com/raw-to-png
https://cloudconvert.com/raw-to-png
https://www.zamzar.com/convert/raw-to-png/

有些是要求您提供详细信息的特定网站,有些是直接转换。

【讨论】:

那么如何保存为原始文件???我只渲染了一堆像素。 您想将其转换为 png 并保存为 raw 吗? 我需要将编辑后的 ​​png(raw 到 png 图像)保存为 raw,以便它在游戏中正确显示,它以 rawpixels 正确显示(我认为)但不能让它工作。我附上了我正在处理的文件。 您是否尝试过将 png 转换为 raw ?您将编辑后的 ​​.png 文件放入转换器中,它应该将其设置为原始文件。 尝试将 raw 转换为 png。然后再次从png到raw?我想基本上就是这样。如果不是,那么我不会完全理解你的意思。

以上是关于图像转换 - 用于游戏的 RAW 到 png/raw (Pac The Man X)的主要内容,如果未能解决你的问题,请参考以下文章

RAW格式文件

raw图片格式压缩好吗?

如何将 SQL 转换为每个 ID 一行的 XML 模式(用于 XML RAW)

使用 Imagemagick 将 RAW 转换为 PNG

图像数据无法转换为浮点数错误?

Capture One pro 21 for Mac(RAW图像编辑软件) v14.0.0.210中文激活版