图像转换 - 用于游戏的 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)的主要内容,如果未能解决你的问题,请参考以下文章