So packen Sie ein mit ZLIB C# komprimiertes Modell ausC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 So packen Sie ein mit ZLIB C# komprimiertes Modell aus

Post by Anonymous »

Das Problem ist das Folgende - ich erhält ein Modell im GLBZ -Format (dies ist ein komprimiertes Modell des GLB -Formats mit ZLIB) und ich muss dieses Modell mit ZLIB in C# wieder in GLB in C# auspacken, um weiter mit ihm im Programm zu arbeiten. Nachdem ich mit ZLIB nicht unkompliziert wurde, bekomme ich einen Speicherstream, den ich nicht weiß, wie ich mich weiter in ein GLB -Modell zusammenbauen soll. Vielleicht weiß und kann mir jemand sagen, wie ich das ursprünglich komprimierte Modell zurückbekommen kann? < /P>
Vielen Dank im Voraus für jede Hilfe. Ich habe versucht, Daten mit der .GLB -Erweiterung in eine Datei zu schreiben, aber das Modell wird danach unlesbar (was im Allgemeinen offensichtlich ist). < /P>

Code: Select all

public static void CompressData(byte[] inData, out byte[] outData)
{
using (MemoryStream outMemoryStream = new MemoryStream())
using (ZOutputStream outZStream = new ZOutputStream(outMemoryStream))
using (Stream inMemoryStream = new MemoryStream(inData))
{
CopyStream(inMemoryStream, outZStream);
outZStream.Finish();
outData = outMemoryStream.ToArray();
}
}
public static void DecompressData(byte[] inData, out byte[] outData)
{
using (MemoryStream outMemoryStream = new MemoryStream())
using (ZOutputStream outZStream = new ZOutputStream(outMemoryStream))
using (Stream inMemoryStream = new MemoryStream(inData))
{
CopyStream(inMemoryStream, outZStream);
outZStream.Finish();
outData = outMemoryStream.ToArray();
}
}

public static void CopyStream(System.IO.Stream input, System.IO.Stream output)
{
byte[] buffer = new byte[2000];

int len;

while ((len = input.Read(buffer, 0, 2000)) > 0)
{
output.Write(buffer, 0, len);
}

output.Flush();
}
Ergebnis: IOException: Aufblasen: Unbekannte Komprimierungsmethode

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post