From 5395f8ee2e8b33ad6e9208ffaf3450286390c58c Mon Sep 17 00:00:00 2001 From: Syping Date: Sun, 23 Nov 2025 05:49:38 +0100 Subject: [PATCH] GetJpeg() now fails with same exception message as GetSize() --- Jpeg.cs | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/Jpeg.cs b/Jpeg.cs index 74bc1fe..b9bb8b6 100644 --- a/Jpeg.cs +++ b/Jpeg.cs @@ -30,23 +30,28 @@ internal class Jpeg { } internal static Byte[] GetJpeg(Stream input, bool imageAsIs, out Size size) { - if (!imageAsIs) { - using Image image = Image.Load(input); - size = image.Size; - image.Metadata.ExifProfile = null; - using MemoryStream jpegStream = new(); - image.SaveAsJpeg(jpegStream, new() { - Quality = 100, - ColorType = JpegEncodingColor.YCbCrRatio444 - }); - return jpegStream.ToArray(); + try { + if (imageAsIs) { + using MemoryStream jpegStream = new(); + input.CopyTo(jpegStream); + Byte[] jpeg = jpegStream.ToArray(); + size = GetSize(jpeg); + return jpeg; + } + else { + using Image image = Image.Load(input); + size = image.Size; + image.Metadata.ExifProfile = null; + using MemoryStream jpegStream = new(); + image.SaveAsJpeg(jpegStream, new() { + Quality = 100, + ColorType = JpegEncodingColor.YCbCrRatio444 + }); + return jpegStream.ToArray(); + } } - else { - using MemoryStream jpegStream = new(); - input.CopyTo(jpegStream); - Byte[] jpeg = jpegStream.ToArray(); - size = GetSize(jpeg); - return jpeg; + catch (UnknownImageFormatException exception) { + throw new Exception("Unsupported Image Format", exception); } }