如何解码该图像?

问题描述 投票:0回答:4

我有一个图像文件,长度为 1048592 字节。 16 字节标头和 1048576 字节数据。 其十六进制的起始字节如下所示, 有谁知道如何解码吗

504b 4d20 3130 0000 0400 0800 0400 0800
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0203 0310 37ff ff00 485f 76d2 0d99 0331
7878 8f3e 110e 1186 2a2a 3bc9 7391 f733
1d1d 1de2 fff7 0008 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000
0000 0002 ffff 0000 1213 14d0 337f 7f80
4444 4685 1d91 333f 2636 37cd 3b9d 7fbb
0303 0315 f777 cccc 0000 0002 ffff 0000
0000 0002 ffff 0000 0000 0002 ffff 0000 
....
image
4个回答
3
投票

标头表明它是 PKM 图像格式。

格式为:

  • 4 字节幻数(504b 4d20):“PKM”
  • 2 字节版本“10”
  • 2 字节数据类型:0 (ETC1_RGB_NO_MIPMAPS)
  • 16 位大端扩展宽度
  • 16 位大端扩展高度
  • 16 位大端原始宽度
  • 16 位大端原始高度
  • 数据,64 位大端字节序。

来自游戏开发者 SE 问题

  • ETC1 纹理的 PKM 格式(兼容所有 OGLES 2.0 设备)
  • PKM 对于打包 ETC1 压缩图像很有用,但与 PNG 一样,它不支持实际的纹理特征。

1
投票

您似乎遇到过这种图像格式: https://community.arm.com/thread/3968

一开始有 PKM 10


0
投票

文件格式:

// PKM file format

// header  (16 bytes)
4 bytes (char) - signature // "PKM "
2 bytes (char) - version // "10 or "20"
2 bytes (uint16) - image type  // e.g. 0 - ETC1_RGB_NO_MIPMAPS
2 bytes (uint16) - image width
2 bytes (uint16) - image height
2 bytes (uint16) - original image width
2 bytes (uint16) - original image height

x bytes - image data

处理 PKM 文件的一些工具:

ARM Texture Compression Tool
Ericsson's texture compression tool (ETCPACK)
Noesis (native support by "fmt_etc_pkm.py")

-1
投票

您可以使用以下程序将“PKM 10”格式的.pkm文件转换为.png格式: https://forum.ragezone.com/f857/pkm-encrypt-decrypt-convert-to-1179253/

© www.soinside.com 2019 - 2024. All rights reserved.