mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Add tiling support to "Image" image effect
This commit is contained in:
parent
b895f3fb2b
commit
5c3d8cb19c
2 changed files with 21 additions and 9 deletions
|
@ -83,7 +83,7 @@ public DrawImage()
|
|||
|
||||
public override Bitmap Apply(Bitmap bmp)
|
||||
{
|
||||
if (Opacity < 1 || (SizeMode != DrawImageSizeMode.DontResize && Size.Width <= 0 && Size.Height <= 0))
|
||||
if (Opacity < 1)
|
||||
{
|
||||
return bmp;
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ public override Bitmap Apply(Bitmap bmp)
|
|||
{
|
||||
Size imageSize;
|
||||
|
||||
if (SizeMode == DrawImageSizeMode.AbsoluteSize)
|
||||
if (SizeMode == DrawImageSizeMode.AbsoluteSize || SizeMode == DrawImageSizeMode.Tile)
|
||||
{
|
||||
int width = Size.Width == -1 ? bmp.Width : Size.Width;
|
||||
int height = Size.Height == -1 ? bmp.Height : Size.Height;
|
||||
|
@ -135,6 +135,16 @@ public override Bitmap Apply(Bitmap bmp)
|
|||
g.PixelOffsetMode = PixelOffsetMode.Half;
|
||||
g.CompositingMode = CompositingMode;
|
||||
|
||||
if (SizeMode == DrawImageSizeMode.Tile)
|
||||
{
|
||||
using (TextureBrush brush = new TextureBrush(bmpWatermark, WrapMode.Tile))
|
||||
{
|
||||
brush.TranslateTransform(imageRectangle.X, imageRectangle.Y);
|
||||
g.FillRectangle(brush, imageRectangle);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Opacity < 100)
|
||||
{
|
||||
using (ImageAttributes ia = new ImageAttributes())
|
||||
|
@ -152,6 +162,7 @@ public override Bitmap Apply(Bitmap bmp)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return bmp;
|
||||
}
|
||||
|
|
|
@ -48,6 +48,7 @@ public enum DrawImageSizeMode // Localized
|
|||
DontResize,
|
||||
AbsoluteSize,
|
||||
PercentageOfWatermark,
|
||||
PercentageOfCanvas
|
||||
PercentageOfCanvas,
|
||||
Tile
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue