From 2c401f0eb18ab4d64300d4a7d98e231d87e0eaf2 Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Sun, 14 Jul 2024 23:58:00 +0200 Subject: [PATCH] Fixed wrong color format for System.Drawing bitmaps --- HPPH.System.Drawing/ImageExtension.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/HPPH.System.Drawing/ImageExtension.cs b/HPPH.System.Drawing/ImageExtension.cs index 1ce3e23..7cf77b0 100644 --- a/HPPH.System.Drawing/ImageExtension.cs +++ b/HPPH.System.Drawing/ImageExtension.cs @@ -16,10 +16,10 @@ public static class ImageExtension Bitmap bitmap = new(image.Width, image.Height, PixelFormat.Format24bppRgb); BitmapData bmpData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.WriteOnly, bitmap.PixelFormat); - IImage convertedImage = image.ConvertTo(); + IImage convertedImage = image.ConvertTo(); nint ptr = bmpData.Scan0; - foreach (ImageRow row in convertedImage.Rows) + foreach (ImageRow row in convertedImage.Rows) { row.CopyTo(new Span((void*)ptr, bmpData.Stride)); ptr += bmpData.Stride; @@ -35,10 +35,10 @@ public static class ImageExtension Bitmap bitmap = new(image.Width, image.Height, PixelFormat.Format32bppArgb); BitmapData bmpData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.WriteOnly, bitmap.PixelFormat); - IImage convertedImage = image.ConvertTo(); + IImage convertedImage = image.ConvertTo(); nint ptr = bmpData.Scan0; - foreach (ImageRow row in convertedImage.Rows) + foreach (ImageRow row in convertedImage.Rows) { row.CopyTo(new Span((void*)ptr, bmpData.Stride)); ptr += bmpData.Stride; @@ -73,9 +73,9 @@ public static class ImageExtension IImage image; if (data.PixelFormat.HasFlag(PixelFormat.Format24bppRgb)) - image = Image.Create(buffer, data.Width, data.Height, data.Stride); + image = Image.Create(buffer, data.Width, data.Height, data.Stride); else if (data.PixelFormat.HasFlag(PixelFormat.Format32bppArgb)) - image = Image.Create(buffer, data.Width, data.Height, data.Stride); + image = Image.Create(buffer, data.Width, data.Height, data.Stride); else throw new NotSupportedException($"Unsupported pixel format '{bitmap.PixelFormat}'."); bitmap.UnlockBits(data);