我正在做一些资源管理代码,其中我将一堆不同的资源(图像位置等)与实际图像一起使用,并用它们制作一个二进制文件。现在,我如何实际将 .PNG 文件包含在二进制文件中,以及如何再次读回它?我想保留 .PNG 压缩。
我使用 BinaryWriter 将数据写入文件,并使用 BinaryReader 将其读回。这是我正在使用的格式的示例:
BinaryWriter writer = new BinaryWriter(new FileStream("file.tmp"));
writer.Write(name);
writer.Write(positionX);
writer.Write(positionY);
// Here should be the binary data of the PNG image
writer.Close();
BinaryReader reader = new BinaryReader(new FileStream("file.tmp"));
string name = reader.ReadString();
float posX = reader.ReadSingle();
float posY = reader.ReadSingle();
Bitmap bitmap = ... // Here I'd like to get the PNG data
reader.Close();
PNG数据之前和之后还有一些其他数据。基本上我会将多个 PNG 文件合并到这个二进制文件中。