Second shot OpenJPEG native lib replacement

Mostly working, could use some fine tuning for unsupported images
This commit is contained in:
Cinder
2021-07-04 18:01:05 -05:00
parent 48455d63b0
commit 3c76a98f8e
37 changed files with 2781 additions and 1342 deletions

View File

@@ -5,6 +5,7 @@ using System.Collections.Generic;
using OpenMetaverse;
using OpenMetaverse.Imaging;
using OpenMetaverse.Assets;
using LibreMetaverse.Imaging;
namespace OpenMetaverse.TestClient
{
@@ -91,10 +92,14 @@ namespace OpenMetaverse.TestClient
File.WriteAllBytes(assetTexture.AssetID + ".jp2", assetTexture.AssetData);
Console.WriteLine("Wrote JPEG2000 image " + assetTexture.AssetID + ".jp2");
ManagedImage imgData;
OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData);
byte[] tgaFile = imgData.ExportTGA();
File.WriteAllBytes(assetTexture.AssetID + ".tga", tgaFile);
using (J2KReader reader = new J2KReader(assetTexture.AssetData))
{
reader.ReadHeader();
System.Drawing.Bitmap bitmap = reader.DecodeToBitmap();
ManagedImage imgData = new ManagedImage(bitmap);
byte[] tgaFile = imgData.ExportTGA();
File.WriteAllBytes(assetTexture.AssetID + ".tga", tgaFile);
}
Console.WriteLine("Wrote TGA image " + assetTexture.AssetID + ".tga");
}
catch (Exception e)