thief-mission-viewer/project/code/TMV/TextureLoader.Gif.cs

23 lines
729 B
C#
Raw Normal View History

using Godot;
using SixLabors.ImageSharp.PixelFormats;
namespace KeepersCompound.TMV;
public partial class TextureLoader
{
// TODO: Replace this with my own implementation lol
2024-09-01 12:51:05 +00:00
// TODO: Alpha!?
// References:
// - https://www.w3.org/Graphics/GIF/spec-gif89a.txt
private static ImageTexture LoadGif(string path)
{
using var gifImage = SixLabors.ImageSharp.Image.Load<Rgba32>(path);
var width = gifImage.Width;
var height = gifImage.Height;
2024-08-30 17:22:40 +00:00
var bytes = new byte[width * height * 4];
gifImage.CopyPixelDataTo(bytes);
var image = Image.CreateFromData(width, height, false, Image.Format.Rgba8, bytes);
return ImageTexture.CreateFromImage(image);
}
}