mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-07-16 19:14:15 -04:00
Use ImageSharp to process textures
This commit is contained in:
39
AssetStudioUtility/ImageExtensions.cs
Normal file
39
AssetStudioUtility/ImageExtensions.cs
Normal file
@ -0,0 +1,39 @@
|
||||
using SixLabors.ImageSharp;
|
||||
using SixLabors.ImageSharp.Formats.Bmp;
|
||||
using SixLabors.ImageSharp.Formats.Tga;
|
||||
using System.IO;
|
||||
|
||||
namespace AssetStudio
|
||||
{
|
||||
public static class ImageExtensions
|
||||
{
|
||||
public static MemoryStream ConvertToStream(this Image image, ImageFormat imageFormat)
|
||||
{
|
||||
var outputStream = new MemoryStream();
|
||||
switch (imageFormat)
|
||||
{
|
||||
case ImageFormat.Jpeg:
|
||||
image.SaveAsJpeg(outputStream);
|
||||
break;
|
||||
case ImageFormat.Png:
|
||||
image.SaveAsPng(outputStream);
|
||||
break;
|
||||
case ImageFormat.Bmp:
|
||||
image.Save(outputStream, new BmpEncoder
|
||||
{
|
||||
BitsPerPixel = BmpBitsPerPixel.Pixel32,
|
||||
SupportTransparency = true
|
||||
});
|
||||
break;
|
||||
case ImageFormat.Tga:
|
||||
image.Save(outputStream, new TgaEncoder
|
||||
{
|
||||
BitsPerPixel = TgaBitsPerPixel.Pixel32,
|
||||
Compression = TgaCompression.None
|
||||
});
|
||||
break;
|
||||
}
|
||||
return outputStream;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user