Restore TGA export support

This commit is contained in:
Cinder Roxley
2024-08-03 10:04:31 -05:00
parent cc4a6b5d7f
commit accae0b854
4 changed files with 80 additions and 10 deletions

View File

@@ -31,8 +31,10 @@ using System.IO;
using System.Collections.Generic;
using CSJ2K;
using OpenMetaverse.Assets;
using OpenMetaverse.Imaging;
using Pfim;
using SkiaSharp;
using Targa = OpenMetaverse.Imaging.Targa;
namespace OpenMetaverse.TestClient
{
@@ -119,13 +121,13 @@ namespace OpenMetaverse.TestClient
File.WriteAllBytes(assetTexture.AssetID + ".jp2", assetTexture.AssetData);
Console.WriteLine($"Wrote JPEG2000 image {assetTexture.AssetID}.jp2");
// FIXME: Need to readd TARGA support!
//var bitmap = J2kImage.FromBytes(assetTexture.AssetData).As<SKBitmap>();
//var image = SKImage.FromPixels(bitmap.PeekPixels());
//var bytes = image.Encode(SKEncodedImageFormat.Tga, 100);
//File.WriteAllBytes(assetTexture.AssetID + ".tga", bytes.ToArray());
//
//Console.WriteLine($"Wrote TGA image {assetTexture.AssetID}.tga");
using (var bitmap = J2kImage.FromBytes(assetTexture.AssetData).As<SKBitmap>())
{
var mi = new ManagedImage(bitmap);
var bytes = Targa.Encode(mi);
File.WriteAllBytes(assetTexture.AssetID + ".tga", bytes);
Console.WriteLine($"Wrote TGA image {assetTexture.AssetID}.tga");
}
}
catch (Exception e)
{

View File

@@ -190,7 +190,7 @@ namespace OpenMetaverse.TestClient
if (asset.Decode())
{
try { File.WriteAllBytes(asset.AssetID + ".tga", asset.Image.ExportTGA()); }
try { File.WriteAllBytes(asset.AssetID + ".tga", Imaging.Targa.Encode(asset.Image)); }
catch (Exception ex) { Logger.Log(ex.Message, Helpers.LogLevel.Error, Client); }
}
else