diff --git a/build/NuSpecs/ImageProcessor.Web.AzureBlobCache.nuspec b/build/NuSpecs/ImageProcessor.Web.AzureBlobCache.nuspec
new file mode 100644
index 0000000000..e169bc15f2
--- /dev/null
+++ b/build/NuSpecs/ImageProcessor.Web.AzureBlobCache.nuspec
@@ -0,0 +1,40 @@
+
+
+
+ ImageProcessor.Web.AzureBlobCache
+ 1.0.0.0
+ ImageProcessor.Web.AzureBlobCache
+ James South
+ James South
+ http://imageprocessor.org
+ http://imageprocessor.org/assets/ico/apple-touch-icon-144x144.png
+ false
+ Adds a self cleaning cache that uses Azure Blob Containers to store processed images.
+
+If you use ImageProcessor.Web please get in touch via my twitter @james_m_south
+
+Feedback is always welcome
+ ImageProcessor.Web AzureBlobCache for ASP.NET websites.
+
+ James South
+ en-GB
+ Image Resize Crop Rotate Quality Watermark Gif Jpg Jpeg Bitmap Png Tiff Azure Cache Asp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/NuSpecs/ImageProcessor.Web.Config.nuspec b/build/NuSpecs/ImageProcessor.Web.Config.nuspec
index cccaef2076..3084916e40 100644
--- a/build/NuSpecs/ImageProcessor.Web.Config.nuspec
+++ b/build/NuSpecs/ImageProcessor.Web.Config.nuspec
@@ -2,7 +2,7 @@
ImageProcessor.Web.Config
- 2.1.0.0
+ 2.2.0.0
ImageProcessor.Web.Config
James South
James South
@@ -11,7 +11,7 @@
false
Adds configuration to your ImageProcessor.Web solution to allow you to override the default settings.
-If you use ImageProcessor please get in touch via my twitter @james_m_south
+If you use ImageProcessor.Web please get in touch via my twitter @james_m_south
Feedback is always welcome
ImageProcessor.Web configuration settings for ASP.NET websites.
@@ -21,15 +21,15 @@ Feedback is always welcome
Image Resize Crop Rotate Quality Watermark Gif Jpg Jpeg Bitmap Png Tiff ASP Cache EXIF
-
-
+
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/build/NuSpecs/ImageProcessor.Web.PostProcessor.nuspec b/build/NuSpecs/ImageProcessor.Web.PostProcessor.nuspec
index 9b06534ff9..02246eafbd 100644
--- a/build/NuSpecs/ImageProcessor.Web.PostProcessor.nuspec
+++ b/build/NuSpecs/ImageProcessor.Web.PostProcessor.nuspec
@@ -2,7 +2,7 @@
ImageProcessor.Web.PostProcessor
- 1.0.1.0
+ 1.0.2.0
ImageProcessor.Web.PostProcessor
James South
James South
@@ -21,8 +21,8 @@ Feedback is always welcome
Image Resize Crop Rotate Quality Watermark Gif Jpg Jpeg Bitmap Png Tiff ASP Cache EXIF
-
-
+
+
diff --git a/build/NuSpecs/ImageProcessor.Web.nuspec b/build/NuSpecs/ImageProcessor.Web.nuspec
index 8e0c2af5f3..6c55b8bfd6 100644
--- a/build/NuSpecs/ImageProcessor.Web.nuspec
+++ b/build/NuSpecs/ImageProcessor.Web.nuspec
@@ -2,7 +2,7 @@
ImageProcessor.Web
- 4.1.4.0
+ 4.2.0.0
ImageProcessor.Web
James South
James South
@@ -13,7 +13,7 @@
Methods include: Resize, Rotate, Rounded Corners, Flip, Crop, Watermark, Filter, Saturation, Brightness, Contrast, Quality, Format, Vignette, Gaussian Blur, Gaussian Sharpen, and Transparency.
-If you use ImageProcessor please get in touch via my twitter @james_m_south
+If you use ImageProcessor.Web please get in touch via my twitter @james_m_south
Feedback is always welcome
An extension to ImageProcessor that allows on-the-fly processing of image files in an ASP.NET website
@@ -23,7 +23,7 @@ Feedback is always welcome
Image Resize Crop Rotate Quality Watermark Gif Jpg Jpeg Bitmap Png Tiff ASP Cache EXIF
-
+
diff --git a/build/NuSpecs/ImageProcessor.nuspec b/build/NuSpecs/ImageProcessor.nuspec
index be9eedbb06..0bcbd42f41 100644
--- a/build/NuSpecs/ImageProcessor.nuspec
+++ b/build/NuSpecs/ImageProcessor.nuspec
@@ -2,7 +2,7 @@
ImageProcessor
- 2.1.0.0
+ 2.2.0.0
ImageProcessor
James South
James South
diff --git a/build/build.xml b/build/build.xml
index eddcb6daa4..ddcb9bc5cf 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -1,7 +1,7 @@
ImageProcessor
- 2.1.0.0
+ 2.2.0.0
..\src\ImageProcessor
ImageProcessor.csproj
@@ -22,6 +22,17 @@
ImageProcessor.Web.nuspec
+
+ ImageProcessor Web Azure Blob Cache
+ 1.0.0.0
+ ..\src\ImageProcessor.Web.AzureBlobCache
+ ImageProcessor.Web.AzureBlobCache.csproj
+
+
+
+ ImageProcessor.Web.AzureBlobCache.nuspec
+
+
ImageProcessor Web PostProcessor
1.0.2.0
diff --git a/build/content/ImageProcessor.Web.AzureBlobCache/config/imageprocessor/cache.config.transform b/build/content/ImageProcessor.Web.AzureBlobCache/config/imageprocessor/cache.config.transform
new file mode 100644
index 0000000000..16974d815a
--- /dev/null
+++ b/build/content/ImageProcessor.Web.AzureBlobCache/config/imageprocessor/cache.config.transform
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/content/ImageProcessor.Web.Config/web.config.transform b/build/content/ImageProcessor.Web.Config/web.config.transform
index 3c88a71b1a..6acc1eafd6 100644
--- a/build/content/ImageProcessor.Web.Config/web.config.transform
+++ b/build/content/ImageProcessor.Web.Config/web.config.transform
@@ -4,13 +4,13 @@
-
+
-
+
diff --git a/src/ImageProcessor.UnitTests/ImageFactoryUnitTests.cs b/src/ImageProcessor.UnitTests/ImageFactoryUnitTests.cs
index 9b98f683ab..9f42ba3f33 100644
--- a/src/ImageProcessor.UnitTests/ImageFactoryUnitTests.cs
+++ b/src/ImageProcessor.UnitTests/ImageFactoryUnitTests.cs
@@ -128,25 +128,12 @@ namespace ImageProcessor.UnitTests
Image original = (Image)imageFactory.Image.Clone();
imageFactory.Alpha(50);
- ISupportedImageFormat format = imageFactory.CurrentImageFormat;
+ AssertionHelpers.AssertImagesAreDifferent(
+ original,
+ imageFactory.Image,
+ "because the alpha operation should have been applied on {0}",
+ imageFactory.ImagePath);
- // The Image class does not support alpha transparency in bitmaps.
- if (format.GetType() == typeof(BitmapFormat))
- {
- AssertionHelpers.AssertImagesAreIdentical(
- original,
- imageFactory.Image,
- "because the alpha operation should not have been applied on {0}",
- imageFactory.ImagePath);
- }
- else
- {
- AssertionHelpers.AssertImagesAreDifferent(
- original,
- imageFactory.Image,
- "because the alpha operation should have been applied on {0}",
- imageFactory.ImagePath);
- }
}
}
diff --git a/src/ImageProcessor.Web.AzureBlobCache/Properties/AssemblyInfo.cs b/src/ImageProcessor.Web.AzureBlobCache/Properties/AssemblyInfo.cs
index 33c5979f9b..b30f1baa39 100644
--- a/src/ImageProcessor.Web.AzureBlobCache/Properties/AssemblyInfo.cs
+++ b/src/ImageProcessor.Web.AzureBlobCache/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-using System.Reflection;
+using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ImageProcessor.Web.AzureBlobCache")]
-[assembly: AssemblyCopyright("Copyright © 2015")]
+[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -31,6 +31,6 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
+// [assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/ImageProcessor.Web.PostProcessor/Properties/AssemblyInfo.cs b/src/ImageProcessor.Web.PostProcessor/Properties/AssemblyInfo.cs
index 308ac564ff..e4687b7769 100644
--- a/src/ImageProcessor.Web.PostProcessor/Properties/AssemblyInfo.cs
+++ b/src/ImageProcessor.Web.PostProcessor/Properties/AssemblyInfo.cs
@@ -31,6 +31,6 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.1.0")]
+// [assembly: AssemblyVersion("1.0.2.0")]
[assembly: AssemblyVersion("1.0.2.0")]
[assembly: AssemblyFileVersion("1.0.2.0")]
diff --git a/src/ImageProcessor.Web/Configuration/ImageCacheSection.cs b/src/ImageProcessor.Web/Configuration/ImageCacheSection.cs
index 7847978f5b..71c25e3e30 100644
--- a/src/ImageProcessor.Web/Configuration/ImageCacheSection.cs
+++ b/src/ImageProcessor.Web/Configuration/ImageCacheSection.cs
@@ -66,7 +66,7 @@ namespace ImageProcessor.Web.Configuration
return imageCacheSection;
}
- string section = ResourceHelpers.ResourceAsString("ImageProcessor.Web.Configuration.Resources.cache.config");
+ string section = ResourceHelpers.ResourceAsString("ImageProcessor.Web.Configuration.Resources.cache.config.transform");
XmlReader reader = new XmlTextReader(new StringReader(section));
imageCacheSection = new ImageCacheSection();
imageCacheSection.DeserializeSection(reader);
diff --git a/src/ImageProcessor.Web/Configuration/ImageProcessingSection.cs b/src/ImageProcessor.Web/Configuration/ImageProcessingSection.cs
index 26fb47b8a2..52b0bc932e 100644
--- a/src/ImageProcessor.Web/Configuration/ImageProcessingSection.cs
+++ b/src/ImageProcessor.Web/Configuration/ImageProcessingSection.cs
@@ -13,8 +13,8 @@ namespace ImageProcessor.Web.Configuration
{
using System.Configuration;
using System.IO;
- using System.Linq;
using System.Xml;
+
using ImageProcessor.Web.Helpers;
///
@@ -24,6 +24,7 @@ namespace ImageProcessor.Web.Configuration
public sealed class ImageProcessingSection : ConfigurationSection
{
#region Properties
+
///
/// Gets or sets a value indicating whether to preserve exif meta data.
///
@@ -86,13 +87,14 @@ namespace ImageProcessor.Web.Configuration
return imageProcessingSection;
}
- string section = ResourceHelpers.ResourceAsString("ImageProcessor.Web.Configuration.Resources.processing.config");
+ string section = ResourceHelpers.ResourceAsString("ImageProcessor.Web.Configuration.Resources.processing.config.transform");
XmlReader reader = new XmlTextReader(new StringReader(section));
imageProcessingSection = new ImageProcessingSection();
imageProcessingSection.DeserializeSection(reader);
imageProcessingSection.AutoLoadPlugins = true;
return imageProcessingSection;
}
+
#endregion
///
@@ -156,7 +158,9 @@ namespace ImageProcessor.Web.Configuration
/// Gets or sets the
/// at the specified index within the collection.
///
- /// The index at which to get the specified object.
+ ///
+ /// The index at which to get the specified object.
+ ///
///
/// The
/// at the specified index within the collection.
@@ -197,7 +201,9 @@ namespace ImageProcessor.Web.Configuration
/// The ConfigurationElement
/// to return the key for.
///
- /// The element key for a specified PluginElement configuration element.
+ ///
+ /// The element key for a specified PluginElement configuration element.
+ ///
protected override object GetElementKey(ConfigurationElement element)
{
return ((PresetElement)element).Name;
@@ -280,7 +286,9 @@ namespace ImageProcessor.Web.Configuration
/// Gets or sets the
/// at the specified index within the collection.
///
- /// The index at which to get the specified object.
+ ///
+ /// The index at which to get the specified object.
+ ///
///
/// The
/// at the specified index within the collection.
@@ -321,7 +329,9 @@ namespace ImageProcessor.Web.Configuration
/// The ConfigurationElement
/// to return the key for.
///
- /// The element key for a specified PluginElement configuration element.
+ ///
+ /// The element key for a specified PluginElement configuration element.
+ ///
protected override object GetElementKey(ConfigurationElement element)
{
return ((PluginElement)element).Name;
diff --git a/src/ImageProcessor.Web/Configuration/ImageSecuritySection.cs b/src/ImageProcessor.Web/Configuration/ImageSecuritySection.cs
index 2795cf7108..28644ee655 100644
--- a/src/ImageProcessor.Web/Configuration/ImageSecuritySection.cs
+++ b/src/ImageProcessor.Web/Configuration/ImageSecuritySection.cs
@@ -55,7 +55,7 @@ namespace ImageProcessor.Web.Configuration
return imageSecuritySection;
}
- string section = ResourceHelpers.ResourceAsString("ImageProcessor.Web.Configuration.Resources.security.config");
+ string section = ResourceHelpers.ResourceAsString("ImageProcessor.Web.Configuration.Resources.security.config.transform");
XmlReader reader = new XmlTextReader(new StringReader(section));
imageSecuritySection = new ImageSecuritySection();
imageSecuritySection.DeserializeSection(reader);
diff --git a/src/ImageProcessor.Web/Configuration/Resources/cache.config b/src/ImageProcessor.Web/Configuration/Resources/cache.config.transform
similarity index 86%
rename from src/ImageProcessor.Web/Configuration/Resources/cache.config
rename to src/ImageProcessor.Web/Configuration/Resources/cache.config.transform
index f54e36d7ac..301a44e2b0 100644
--- a/src/ImageProcessor.Web/Configuration/Resources/cache.config
+++ b/src/ImageProcessor.Web/Configuration/Resources/cache.config.transform
@@ -2,7 +2,7 @@
-
+
diff --git a/src/ImageProcessor.Web/Configuration/Resources/processing.config b/src/ImageProcessor.Web/Configuration/Resources/processing.config.transform
similarity index 100%
rename from src/ImageProcessor.Web/Configuration/Resources/processing.config
rename to src/ImageProcessor.Web/Configuration/Resources/processing.config.transform
diff --git a/src/ImageProcessor.Web/Configuration/Resources/security.config b/src/ImageProcessor.Web/Configuration/Resources/security.config.transform
similarity index 100%
rename from src/ImageProcessor.Web/Configuration/Resources/security.config
rename to src/ImageProcessor.Web/Configuration/Resources/security.config.transform
diff --git a/src/ImageProcessor.Web/Helpers/TypePropertyHelpers.cs b/src/ImageProcessor.Web/Helpers/TypePropertyHelpers.cs
deleted file mode 100644
index 0b3d850cb2..0000000000
--- a/src/ImageProcessor.Web/Helpers/TypePropertyHelpers.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-namespace ImageProcessor.Web.Extensions
-{
- using System;
- using System.Linq.Expressions;
-
- internal static class TypePropertyHelpers
- {
- public static string GetPropertyName(Expression> expression)
- {
- MemberExpression member = expression.Body as MemberExpression;
- if (member != null)
- {
- return member.Member.Name;
- }
-
- throw new ArgumentException("expression");
- }
- }
-}
diff --git a/src/ImageProcessor.Web/ImageProcessor.Web.csproj b/src/ImageProcessor.Web/ImageProcessor.Web.csproj
index 642a6d634c..18fd4d2cf7 100644
--- a/src/ImageProcessor.Web/ImageProcessor.Web.csproj
+++ b/src/ImageProcessor.Web/ImageProcessor.Web.csproj
@@ -52,7 +52,6 @@
-
@@ -111,13 +110,13 @@
-
+
Designer
-
-
+
+
Designer
-
-
+
+
diff --git a/src/ImageProcessor.Web/Properties/AssemblyInfo.cs b/src/ImageProcessor.Web/Properties/AssemblyInfo.cs
index 3024be2842..c57468095f 100644
--- a/src/ImageProcessor.Web/Properties/AssemblyInfo.cs
+++ b/src/ImageProcessor.Web/Properties/AssemblyInfo.cs
@@ -40,5 +40,5 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("4.1.4.0")]
-[assembly: AssemblyFileVersion("4.1.4.0")]
+[assembly: AssemblyVersion("4.2.0.0")]
+[assembly: AssemblyFileVersion("4.2.0.0")]
diff --git a/src/ImageProcessor/Imaging/Helpers/ImageMaths.cs b/src/ImageProcessor/Imaging/Helpers/ImageMaths.cs
index 7863e8ec98..af05939762 100644
--- a/src/ImageProcessor/Imaging/Helpers/ImageMaths.cs
+++ b/src/ImageProcessor/Imaging/Helpers/ImageMaths.cs
@@ -36,7 +36,7 @@ namespace ImageProcessor.Imaging.Helpers
/// The to clamp.
///
///
- /// The representing the clamped value.
+ /// The representing the clamped value.
///
public static T Clamp(T value, T min, T max) where T : IComparable
{
diff --git a/src/ImageProcessor/Properties/AssemblyInfo.cs b/src/ImageProcessor/Properties/AssemblyInfo.cs
index 78f261e829..2f753e3b7e 100644
--- a/src/ImageProcessor/Properties/AssemblyInfo.cs
+++ b/src/ImageProcessor/Properties/AssemblyInfo.cs
@@ -40,5 +40,5 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("2.1.0.0")]
-[assembly: AssemblyFileVersion("2.1.0.0")]
+[assembly: AssemblyVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("2.2.0.0")]