From 8adee2bfd956b67654ee0d1f97a4ba84f22bb422 Mon Sep 17 00:00:00 2001 From: Manuel Kamper Date: Sat, 20 Apr 2019 16:42:07 +0200 Subject: [PATCH] added resize image --- Mk0.Tools.Images/Mk0.Tools.Images.csproj | 1 + Mk0.Tools.Images/ResizeImage.cs | 39 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Mk0.Tools.Images/ResizeImage.cs diff --git a/Mk0.Tools.Images/Mk0.Tools.Images.csproj b/Mk0.Tools.Images/Mk0.Tools.Images.csproj index 7b392fa..388c7ce 100644 --- a/Mk0.Tools.Images/Mk0.Tools.Images.csproj +++ b/Mk0.Tools.Images/Mk0.Tools.Images.csproj @@ -40,6 +40,7 @@ + diff --git a/Mk0.Tools.Images/ResizeImage.cs b/Mk0.Tools.Images/ResizeImage.cs new file mode 100644 index 0000000..607c29c --- /dev/null +++ b/Mk0.Tools.Images/ResizeImage.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Drawing.Imaging; + +namespace Mk0.Tools.Images +{ + public class Resize + { + public static Bitmap ResizeImage(Image image, int width, int height) + { + var destRect = new Rectangle(0, 0, width, height); + var destImage = new Bitmap(width, height); + + destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution); + + using (var graphics = Graphics.FromImage(destImage)) + { + graphics.CompositingMode = CompositingMode.SourceCopy; + graphics.CompositingQuality = CompositingQuality.HighQuality; + graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; + graphics.SmoothingMode = SmoothingMode.HighQuality; + graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; + + using (var wrapMode = new ImageAttributes()) + { + wrapMode.SetWrapMode(WrapMode.TileFlipXY); + graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode); + } + } + + return destImage; + } + } +}