using HPPH.SkiaSharp; using SkiaSharp; namespace HPPH.Test.Skia; [TestClass] public class SkiaTests { private static IEnumerable GetTestImages() => Directory.EnumerateFiles(@"..\..\..\..\sample_data", "*.png", SearchOption.AllDirectories); [TestMethod] public void ImageConversion24Bit() { Image image = TestDataHelper.CreateTestImage(1920, 1080); using SKImage bitmap = image.ToSKImage(); IImage image2 = bitmap.ToImage(); Assert.AreEqual(IColorFormat.BGRA, image2.ColorFormat); image2 = image2.ConvertTo(); Assert.AreEqual(image, image2); } [TestMethod] public void ImageConversion32Bit() { Image image = TestDataHelper.CreateTestImage(1920, 1080); using SKImage bitmap = image.ToSKImage(); IImage image2 = bitmap.ToImage(); Assert.AreEqual(IColorFormat.BGRA, image2.ColorFormat); image2 = image2.ConvertTo(); Assert.AreEqual(image, image2); } [TestMethod] public void LoadFileToPngLoadStream() { foreach (string image in GetTestImages()) { IImage img = SkiaSharp.ImageHelper.LoadImage(image); byte[] png = img.ToPng(); using MemoryStream ms = new(png); IImage img2 = SkiaSharp.ImageHelper.LoadImage(ms); Assert.AreEqual(img, img2); } } }