Fix blur, pixelate and highlight to crop only inside image rectangle

This commit is contained in:
Jaex 2016-09-05 19:55:36 +03:00
parent e4d388c61f
commit 8fd061e4c8
3 changed files with 15 additions and 6 deletions

View file

@ -75,11 +75,14 @@ public override void OnDrawFinal(Graphics g, Bitmap bmp)
{
if (BlurRadius > 1)
{
using (Bitmap croppedImage = ImageHelpers.CropBitmap(bmp, Rectangle))
Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
rect.Intersect(Rectangle);
using (Bitmap croppedImage = ImageHelpers.CropBitmap(bmp, rect))
{
ImageHelpers.Blur(croppedImage, BlurRadius);
g.DrawImage(croppedImage, Rectangle);
g.DrawImage(croppedImage, rect);
}
}
}

View file

@ -70,11 +70,14 @@ public override void OnDraw(Graphics g)
public override void OnDrawFinal(Graphics g, Bitmap bmp)
{
using (Bitmap croppedImage = ImageHelpers.CropBitmap(bmp, Rectangle))
Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
rect.Intersect(Rectangle);
using (Bitmap croppedImage = ImageHelpers.CropBitmap(bmp, rect))
{
ImageHelpers.HighlightImage(croppedImage, HighlightColor);
g.DrawImage(croppedImage, Rectangle);
g.DrawImage(croppedImage, rect);
}
}
}

View file

@ -75,10 +75,13 @@ public override void OnDrawFinal(Graphics g, Bitmap bmp)
{
if (PixelSize > 1)
{
using (Bitmap croppedImage = ImageHelpers.CropBitmap(bmp, Rectangle))
Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
rect.Intersect(Rectangle);
using (Bitmap croppedImage = ImageHelpers.CropBitmap(bmp, rect))
using (Bitmap pixelatedImage = ImageHelpers.Pixelate(croppedImage, PixelSize))
{
g.DrawImage(pixelatedImage, Rectangle);
g.DrawImage(pixelatedImage, rect);
}
}
}