diff --git a/ShareX.ImageEffectsLib/Drawings/DrawImage.cs b/ShareX.ImageEffectsLib/Drawings/DrawImage.cs index 648da8a29..a134c6476 100644 --- a/ShareX.ImageEffectsLib/Drawings/DrawImage.cs +++ b/ShareX.ImageEffectsLib/Drawings/DrawImage.cs @@ -83,7 +83,7 @@ public DrawImage() public override Bitmap Apply(Bitmap bmp) { - if (Opacity < 1) + if (Opacity < 1 || (SizeMode != DrawImageSizeMode.DontResize && Size.Width <= 0 && Size.Height <= 0)) { return bmp; } @@ -98,7 +98,7 @@ public override Bitmap Apply(Bitmap bmp) { Size imageSize; - if (SizeMode == DrawImageSizeMode.AbsoluteSize || SizeMode == DrawImageSizeMode.Tile) + if (SizeMode == DrawImageSizeMode.AbsoluteSize) { int width = Size.Width == -1 ? bmp.Width : Size.Width; int height = Size.Height == -1 ? bmp.Height : Size.Height; @@ -135,29 +135,18 @@ public override Bitmap Apply(Bitmap bmp) g.PixelOffsetMode = PixelOffsetMode.Half; g.CompositingMode = CompositingMode; - if (SizeMode == DrawImageSizeMode.Tile) + if (Opacity < 100) { - using (TextureBrush brush = new TextureBrush(bmpWatermark, WrapMode.Tile)) + using (ImageAttributes ia = new ImageAttributes()) { - brush.TranslateTransform(imageRectangle.X, imageRectangle.Y); - g.FillRectangle(brush, imageRectangle); + ColorMatrix matrix = ColorMatrixManager.Alpha(Opacity / 100f); + ia.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); + g.DrawImage(bmpWatermark, imageRectangle, 0, 0, bmpWatermark.Width, bmpWatermark.Height, GraphicsUnit.Pixel, ia); } } else { - if (Opacity < 100) - { - using (ImageAttributes ia = new ImageAttributes()) - { - ColorMatrix matrix = ColorMatrixManager.Alpha(Opacity / 100f); - ia.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); - g.DrawImage(bmpWatermark, imageRectangle, 0, 0, bmpWatermark.Width, bmpWatermark.Height, GraphicsUnit.Pixel, ia); - } - } - else - { - g.DrawImage(bmpWatermark, imageRectangle); - } + g.DrawImage(bmpWatermark, imageRectangle); } } } diff --git a/ShareX.ImageEffectsLib/Enums.cs b/ShareX.ImageEffectsLib/Enums.cs index b3469ccb4..1fe5cc1c2 100644 --- a/ShareX.ImageEffectsLib/Enums.cs +++ b/ShareX.ImageEffectsLib/Enums.cs @@ -48,7 +48,6 @@ public enum DrawImageSizeMode // Localized DontResize, AbsoluteSize, PercentageOfWatermark, - PercentageOfCanvas, - Tile + PercentageOfCanvas } } \ No newline at end of file