From 413ede766f18b929caba3efdc90f3bd59dced78c Mon Sep 17 00:00:00 2001 From: James South Date: Fri, 16 Aug 2013 14:28:33 +0100 Subject: [PATCH] v1.7.0.2 Watermark now automatically wraps text. Former-commit-id: deaa2ea0920db7a03928ec7061b8305fa612c25e --- src/ImageProcessor/Processors/Watermark.cs | 110 ++++++++++-------- src/ImageProcessor/Properties/AssemblyInfo.cs | 4 +- src/Nuget/ImageProcessor.1.7.0.2.nupkg | Bin 0 -> 54409 bytes src/Nuget/imageprocessor.128.png | Bin 5724 -> 6510 bytes .../Views/Home/Index.cshtml | 2 +- 5 files changed, 63 insertions(+), 53 deletions(-) create mode 100644 src/Nuget/ImageProcessor.1.7.0.2.nupkg diff --git a/src/ImageProcessor/Processors/Watermark.cs b/src/ImageProcessor/Processors/Watermark.cs index f5900fde9..25b449987 100644 --- a/src/ImageProcessor/Processors/Watermark.cs +++ b/src/ImageProcessor/Processors/Watermark.cs @@ -24,50 +24,50 @@ namespace ImageProcessor.Processors /// public class Watermark : IGraphicsProcessor { -/// -/// The regular expression to search strings for. -/// -private static readonly Regex QueryRegex = new Regex(@"watermark=[^&]*", RegexOptions.Compiled); - -/// -/// The regular expression to search strings for the text attribute. -/// -private static readonly Regex TextRegex = new Regex(@"text-[^/:?#\[\]@!$&'()*%\|,;=]+", RegexOptions.Compiled); - -/// -/// The regular expression to search strings for the position attribute. -/// -private static readonly Regex PositionRegex = new Regex(@"position-\d+-\d+", RegexOptions.Compiled); - -/// -/// The regular expression to search strings for the color attribute. -/// -private static readonly Regex ColorRegex = new Regex(@"color-([0-9a-fA-F]{3}){1,2}", RegexOptions.Compiled); - -/// -/// The regular expression to search strings for the font size attribute. -/// -private static readonly Regex FontSizeRegex = new Regex(@"size-\d{1,3}", RegexOptions.Compiled); - -/// -/// The regular expression to search strings for the font style attribute. -/// -private static readonly Regex FontStyleRegex = new Regex(@"style-(bold|italic|regular|strikeout|underline)", RegexOptions.Compiled); - -/// -/// The regular expression to search strings for the font family attribute. -/// -private static readonly Regex FontFamilyRegex = new Regex(@"font-[^/:?#\[\]@!$&'()*%\|,;=0-9]+", RegexOptions.Compiled); - -/// -/// The regular expression to search strings for the opacity attribute. -/// -private static readonly Regex OpacityRegex = new Regex(@"opacity-(?:100|[1-9]?[0-9])", RegexOptions.Compiled); - -/// -/// The regular expression to search strings for the shadow attribute. -/// -private static readonly Regex ShadowRegex = new Regex(@"shadow-true", RegexOptions.Compiled); + /// + /// The regular expression to search strings for. + /// + private static readonly Regex QueryRegex = new Regex(@"watermark=[^&]*", RegexOptions.Compiled); + + /// + /// The regular expression to search strings for the text attribute. + /// + private static readonly Regex TextRegex = new Regex(@"text-[^/:?#\[\]@!$&'()*%\|,;=]+", RegexOptions.Compiled); + + /// + /// The regular expression to search strings for the position attribute. + /// + private static readonly Regex PositionRegex = new Regex(@"position-\d+-\d+", RegexOptions.Compiled); + + /// + /// The regular expression to search strings for the color attribute. + /// + private static readonly Regex ColorRegex = new Regex(@"color-([0-9a-fA-F]{3}){1,2}", RegexOptions.Compiled); + + /// + /// The regular expression to search strings for the font size attribute. + /// + private static readonly Regex FontSizeRegex = new Regex(@"size-\d{1,3}", RegexOptions.Compiled); + + /// + /// The regular expression to search strings for the font style attribute. + /// + private static readonly Regex FontStyleRegex = new Regex(@"style-(bold|italic|regular|strikeout|underline)", RegexOptions.Compiled); + + /// + /// The regular expression to search strings for the font family attribute. + /// + private static readonly Regex FontFamilyRegex = new Regex(@"font-[^/:?#\[\]@!$&'()*%\|,;=0-9]+", RegexOptions.Compiled); + + /// + /// The regular expression to search strings for the opacity attribute. + /// + private static readonly Regex OpacityRegex = new Regex(@"opacity-(?:100|[1-9]?[0-9])", RegexOptions.Compiled); + + /// + /// The regular expression to search strings for the shadow attribute. + /// + private static readonly Regex ShadowRegex = new Regex(@"shadow-true", RegexOptions.Compiled); #region IGraphicsProcessor Members /// @@ -173,7 +173,7 @@ private static readonly Regex ShadowRegex = new Regex(@"shadow-true", RegexOptio try { - // Dont use an object initializer here. + // Don't use an object initializer here. newImage = new Bitmap(image); newImage.Tag = image.Tag; @@ -193,12 +193,12 @@ private static readonly Regex ShadowRegex = new Regex(@"shadow-true", RegexOptio { Point origin = textLayer.Position; + // Work out the size of the text. + SizeF textSize = graphics.MeasureString(text, font, new SizeF(image.Width, image.Height), drawFormat); + // We need to ensure that there is a position set for the watermark if (origin == Point.Empty) { - // Work out the size of the text. - SizeF textSize = graphics.MeasureString(text, font, new SizeF(image.Width, image.Height), drawFormat); - int x = (int)(image.Width - textSize.Width) / 2; int y = (int)(image.Height - textSize.Height) / 2; origin = new Point(x, y); @@ -207,6 +207,9 @@ private static readonly Regex ShadowRegex = new Regex(@"shadow-true", RegexOptio // Set the hinting and draw the text. graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit; + // Create bounds for the text. + RectangleF bounds; + if (textLayer.DropShadow) { // Shadow opacity should change with the base opacity. @@ -219,11 +222,18 @@ private static readonly Regex ShadowRegex = new Regex(@"shadow-true", RegexOptio // Magic number but it's based on artistic preference. int shadowDiff = (int)Math.Ceiling(fontSize / 24f); Point shadowPoint = new Point(origin.X + shadowDiff, origin.Y + shadowDiff); - graphics.DrawString(text, font, shadowBrush, shadowPoint, drawFormat); + + // Set the bounds so any overlapping text will wrap. + bounds = new RectangleF(shadowPoint, new SizeF(image.Width - shadowPoint.X, image.Height - shadowPoint.Y)); + + graphics.DrawString(text, font, shadowBrush, bounds, drawFormat); } } - graphics.DrawString(text, font, brush, origin, drawFormat); + // Set the bounds so any overlapping text will wrap. + bounds = new RectangleF(origin, new SizeF(image.Width - origin.X, image.Height - origin.Y)); + + graphics.DrawString(text, font, brush, bounds, drawFormat); } } } diff --git a/src/ImageProcessor/Properties/AssemblyInfo.cs b/src/ImageProcessor/Properties/AssemblyInfo.cs index 68075c37d..7e9e403f3 100644 --- a/src/ImageProcessor/Properties/AssemblyInfo.cs +++ b/src/ImageProcessor/Properties/AssemblyInfo.cs @@ -32,6 +32,6 @@ using System.Security; // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.7.0.1")] -[assembly: AssemblyFileVersion("1.7.0.1")] +[assembly: AssemblyVersion("1.7.0.2")] +[assembly: AssemblyFileVersion("1.7.0.2")] diff --git a/src/Nuget/ImageProcessor.1.7.0.2.nupkg b/src/Nuget/ImageProcessor.1.7.0.2.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..7d0ffca1cb91d7f4d2502a488ce0908a77550dd8 GIT binary patch literal 54409 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 literal 0 HcmV?d00001 diff --git a/src/Nuget/imageprocessor.128.png b/src/Nuget/imageprocessor.128.png index 4a66a8335e004431e9053fb891effbf0fb2b227f..037ae141a9e081af7e452f3bc472f540dd4307f2 100644 GIT binary patch delta 5893 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 delta 5104 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 NTIzbp8daO<{{R)rjg

Watermark

- +

Format