mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added Size and SizeMode properties to the image watermark.
This commit is contained in:
parent
d2ab43e329
commit
5b927ee30c
1 changed files with 24 additions and 2 deletions
|
@ -28,6 +28,7 @@ You should have received a copy of the GNU General Public License
|
|||
using System.Drawing;
|
||||
using System.Drawing.Design;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX.ImageEffectsLib
|
||||
{
|
||||
|
@ -58,6 +59,13 @@ public Point Offset
|
|||
[DefaultValue(""), Editor(typeof(ImageFileNameEditor), typeof(UITypeEditor))]
|
||||
public string ImageLocation { get; set; }
|
||||
|
||||
//TODO: Is a custom enum for different watermark image sizes a better idea?
|
||||
[DefaultValue(SizeType.AutoSize)]
|
||||
public SizeType SizeMode { get; set; }
|
||||
|
||||
[DefaultValue(typeof(Size), "0, 0")]
|
||||
public Size Size { get; set; }
|
||||
|
||||
public DrawImage()
|
||||
{
|
||||
this.ApplyDefaultPropertyValues();
|
||||
|
@ -69,8 +77,22 @@ public override Image Apply(Image img)
|
|||
{
|
||||
using (Image img2 = ImageHelpers.LoadImage(ImageLocation))
|
||||
{
|
||||
Point imagePosition = Helpers.GetPosition(Placement, Offset, img.Size, img2.Size);
|
||||
Rectangle imageRectangle = new Rectangle(imagePosition, img2.Size);
|
||||
//Calculate size first
|
||||
Size imageSize = img2.Size;
|
||||
if (SizeMode == SizeType.Absolute)
|
||||
{
|
||||
//Use Size property
|
||||
imageSize = Size;
|
||||
}
|
||||
else if (SizeMode == SizeType.Percent)
|
||||
{
|
||||
//Relative size
|
||||
imageSize = new Size((int)(img2.Width * (Size.Width / 100.0)), (int)(img2.Height * (Size.Height / 100.0)));
|
||||
}
|
||||
|
||||
//Place the image
|
||||
Point imagePosition = Helpers.GetPosition(Placement, Offset, img.Size, imageSize);
|
||||
Rectangle imageRectangle = new Rectangle(imagePosition, imageSize);
|
||||
|
||||
if (AutoHide && !new Rectangle(0, 0, img.Width, img.Height).Contains(imageRectangle))
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue