From b4f9962b21283bfeb07160a432e6ea9ad98be80b Mon Sep 17 00:00:00 2001 From: Andy Howard Date: Fri, 18 Jun 2021 10:48:47 +0100 Subject: [PATCH] SixLabors ImageSharp package. --- .../Base/Helpers/SacsContentTypeHelper.cs | 2 +- SacsStandardBase/Base/Utils/ImageUtils.cs | 57 +++++++++++++++++++ SacsStandardBase/SacsStandardBase.csproj | 1 + 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 SacsStandardBase/Base/Utils/ImageUtils.cs diff --git a/SacsStandardBase/Base/Helpers/SacsContentTypeHelper.cs b/SacsStandardBase/Base/Helpers/SacsContentTypeHelper.cs index 4379489..bde5764 100644 --- a/SacsStandardBase/Base/Helpers/SacsContentTypeHelper.cs +++ b/SacsStandardBase/Base/Helpers/SacsContentTypeHelper.cs @@ -42,7 +42,7 @@ namespace Sarand.Net.Standard.Base.Helpers // Data members. private static readonly List contentTypes; private static FileExtensionContentTypeProvider provider = null; - private static readonly HashSet allowedMimeTypes_CandidateCV = new HashSet() + private static readonly HashSet allowedMimeTypes_CV = new HashSet() { Sacs.MimeType.MsDoc, Sacs.MimeType.MsDocx, diff --git a/SacsStandardBase/Base/Utils/ImageUtils.cs b/SacsStandardBase/Base/Utils/ImageUtils.cs new file mode 100644 index 0000000..118a70e --- /dev/null +++ b/SacsStandardBase/Base/Utils/ImageUtils.cs @@ -0,0 +1,57 @@ +using Sarand.Net.Standard.Base.App; +using SixLabors.ImageSharp; +using SixLabors.ImageSharp.PixelFormats; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Sarand.Net.Standard.Base.Utils +{ + //======================================================================= + // Image handling methods utilising SixLabors ImageSharp package. + //======================================================================= + public static class ImageUtils + { + //------------------------------------------------------------------- + private static readonly String className = typeof(ImageUtils).ToString(); + + //------------------------------------------------------------------- + public class ImageConfig + { + public byte[] ImageData { get; set; } + public bool ValidImage { get; set; } + public int Width { get; set; } + public int Height { get; set; } + } + public static ImageConfig VerifyImageData(byte[] imageData) + { + String fn = className + ".VerifyImageData"; + ImageConfig imageConfig = new ImageConfig(); + imageConfig.ImageData = imageData; + try + { + var image = Image.Load(imageData); + if (image == null) return imageConfig; + imageConfig.Width = image.Width; + imageConfig.Height = image.Height; + imageConfig.ValidImage = true; + return imageConfig; + } + catch (Exception exc) + { + SaLogger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc)); + } + return imageConfig; + } + + // Load from byte array. + public static Image LoadImage(byte[] imageData) + { + var image = Image.Load(imageData); + return image; + } + + //------------------------------------------------------------------- + } + //======================================================================= +} diff --git a/SacsStandardBase/SacsStandardBase.csproj b/SacsStandardBase/SacsStandardBase.csproj index 68cfd70..aaefc57 100644 --- a/SacsStandardBase/SacsStandardBase.csproj +++ b/SacsStandardBase/SacsStandardBase.csproj @@ -11,6 +11,7 @@ +