diff --git a/PCK-Studio/Classes/Extensions/GraphicsExtensions.cs b/PCK-Studio/Classes/Extensions/GraphicsExtensions.cs
new file mode 100644
index 00000000..b29842da
--- /dev/null
+++ b/PCK-Studio/Classes/Extensions/GraphicsExtensions.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Linq;
+using System.Text;
+
+namespace PckStudio.Extensions
+{
+ public struct GraphicsConfig
+ {
+ public GraphicsConfig()
+ {
+ CompositingQuality = CompositingQuality.Default;
+ InterpolationMode = InterpolationMode.Default;
+ SmoothingMode = SmoothingMode.Default;
+ PixelOffsetMode = PixelOffsetMode.Default;
+ }
+
+ public CompositingMode CompositingMode { get; set; }
+ public CompositingQuality CompositingQuality { get; set; }
+ public InterpolationMode InterpolationMode { get; set; }
+ public SmoothingMode SmoothingMode { get; set; }
+ public PixelOffsetMode PixelOffsetMode { get; set; }
+ }
+
+ internal static class GraphicsExtensions
+ {
+ public static void ApplyConfig(this Graphics graphics, GraphicsConfig config)
+ {
+ graphics.CompositingMode = config.CompositingMode;
+ graphics.CompositingQuality = config.CompositingQuality;
+ graphics.InterpolationMode = config.InterpolationMode;
+ graphics.SmoothingMode = config.SmoothingMode;
+ graphics.PixelOffsetMode = config.PixelOffsetMode;
+ }
+ }
+}
diff --git a/PCK-Studio/Classes/Extensions/ImageExtensions.cs b/PCK-Studio/Classes/Extensions/ImageExtensions.cs
index 6313801d..180ff5dc 100644
--- a/PCK-Studio/Classes/Extensions/ImageExtensions.cs
+++ b/PCK-Studio/Classes/Extensions/ImageExtensions.cs
@@ -1,12 +1,10 @@
-using System.Collections.Generic;
-using System.Drawing.Drawing2D;
+using System;
using System.Drawing;
using System.Diagnostics;
-using System;
using System.Drawing.Imaging;
+using System.Drawing.Drawing2D;
+using System.Collections.Generic;
using System.Runtime.InteropServices;
-using System.Windows.Media.Media3D;
-using System.Web;
namespace PckStudio.Extensions
{
@@ -110,25 +108,6 @@ namespace PckStudio.Extensions
return new Size(width, heigh);
}
- public struct GraphicsConfig
- {
- public CompositingMode CompositingMode { get; set; }
- public CompositingQuality CompositingQuality { get; set; }
- public InterpolationMode InterpolationMode { get; set; }
- public SmoothingMode SmoothingMode { get; set; }
- public PixelOffsetMode PixelOffsetMode { get; set; }
-
- public void Apply(Graphics graphics)
- {
- graphics.CompositingMode = CompositingMode;
- graphics.CompositingQuality = CompositingQuality;
- graphics.InterpolationMode = InterpolationMode;
- graphics.SmoothingMode = SmoothingMode;
- graphics.PixelOffsetMode = PixelOffsetMode;
- }
-
- }
-
public static Image ResizeImage(this Image image, int width, int height, GraphicsConfig graphicsConfig)
{
var destRect = new Rectangle(0, 0, width, height);
@@ -138,7 +117,7 @@ namespace PckStudio.Extensions
using (var graphics = Graphics.FromImage(destImage))
{
- graphicsConfig.Apply(graphics);
+ graphics.ApplyConfig(graphicsConfig);
using (var wrapMode = new ImageAttributes())
{
wrapMode.SetWrapMode(WrapMode.TileFlipXY);
@@ -169,7 +148,6 @@ namespace PckStudio.Extensions
public static Image Blend(this Image image, Image overlay, BlendMode mode)
{
- Stopwatch stopwatch = Stopwatch.StartNew();
if (image is not Bitmap baseImage || overlay is not Bitmap overlayImage)
return image;
BitmapData baseImageData = baseImage.LockBits(new Rectangle(Point.Empty, baseImage.Size),
@@ -200,8 +178,6 @@ namespace PckStudio.Extensions
bitmapResult.UnlockBits(resultImageData);
baseImage.UnlockBits(baseImageData);
overlayImage.UnlockBits(overlayImageData);
- stopwatch.Stop();
- Debug.WriteLine($"{nameof(ImageExtensions.Blend)} took {stopwatch.ElapsedMilliseconds}ms");
return bitmapResult;
}
diff --git a/PCK-Studio/Forms/Utilities/pckCenterOpen.cs b/PCK-Studio/Forms/Utilities/pckCenterOpen.cs
index b1ba4635..7a978f68 100644
--- a/PCK-Studio/Forms/Utilities/pckCenterOpen.cs
+++ b/PCK-Studio/Forms/Utilities/pckCenterOpen.cs
@@ -1027,7 +1027,7 @@ namespace PckStudio.Forms
{
var ms = new MemoryStream(skinTexture.Data);
Bitmap saveSkin = new Bitmap(Image.FromStream(ms));
- var config = new ImageExtensions.GraphicsConfig()
+ var config = new GraphicsConfig()
{
CompositingMode = CompositingMode.SourceCopy,
CompositingQuality = CompositingQuality.HighQuality,
diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj
index 96fbce83..ae28ad89 100644
--- a/PCK-Studio/PckStudio.csproj
+++ b/PCK-Studio/PckStudio.csproj
@@ -172,6 +172,7 @@
+