diff --git a/build/Build.bat b/build/Build.bat index 436d2ba1c..274d2741d 100644 --- a/build/Build.bat +++ b/build/Build.bat @@ -1,7 +1,7 @@ @ECHO OFF -SET version=1.9.1.0 -SET webversion=3.2.4.0 -SET webconfigversion=1.1.0.0 +SET version=1.9.2.0 +SET webversion=3.2.5.0 +SET webconfigversion=1.1.1.0 ECHO Building ImageProcessor %version%, ImageProcess.Web %webversion% and ImageProcess.Web.Config %webconfigversion% diff --git a/build/NuSpecs/ImageProcessor.Web.Config.nuspec b/build/NuSpecs/ImageProcessor.Web.Config.nuspec index 73ecb00fb..5b0f12365 100644 --- a/build/NuSpecs/ImageProcessor.Web.Config.nuspec +++ b/build/NuSpecs/ImageProcessor.Web.Config.nuspec @@ -21,12 +21,12 @@ Feedback is always welcome Image Imaging ASP Performance Processing HttpModule Cache Resize Rotate RoundedCorners Flip Crop Filter Effects Quality Watermark Alpha Vignette Saturation Brightness Contrast Gif Jpg Jpeg Bitmap Png Fluent GDI Gaussian Blur Sharpen Tint Quantizer Animated - - + + - - + + diff --git a/build/NuSpecs/ImageProcessor.Web.nuspec b/build/NuSpecs/ImageProcessor.Web.nuspec index 3ccb06b4f..d64b9e126 100644 --- a/build/NuSpecs/ImageProcessor.Web.nuspec +++ b/build/NuSpecs/ImageProcessor.Web.nuspec @@ -28,11 +28,11 @@ Feedback is always welcome - + - + diff --git a/src/ImageProcessor.Web/NET45/Config/ImageProcessingSection.cs b/src/ImageProcessor.Web/NET45/Config/ImageProcessingSection.cs index 7111521af..d1018ba89 100644 --- a/src/ImageProcessor.Web/NET45/Config/ImageProcessingSection.cs +++ b/src/ImageProcessor.Web/NET45/Config/ImageProcessingSection.cs @@ -26,6 +26,17 @@ namespace ImageProcessor.Web.Config public sealed class ImageProcessingSection : ConfigurationSection { #region Properties + + /// + /// Gets or sets a value indicating whether to preserve exif meta data. + /// + [ConfigurationProperty("preserveExifMetaData", IsRequired = false, DefaultValue = false)] + public bool PreserveExifMetaData + { + get { return (bool)this["preserveExifMetaData"]; } + set { this["preserveExifMetaData"] = value; } + } + /// /// Gets the . /// diff --git a/src/ImageProcessor.Web/NET45/Config/ImageProcessorConfig.cs b/src/ImageProcessor.Web/NET45/Config/ImageProcessorConfig.cs index 2f0357d8b..c85c25039 100644 --- a/src/ImageProcessor.Web/NET45/Config/ImageProcessorConfig.cs +++ b/src/ImageProcessor.Web/NET45/Config/ImageProcessorConfig.cs @@ -90,6 +90,17 @@ namespace ImageProcessor.Web.Config /// public IList GraphicsProcessors { get; private set; } + /// + /// Gets a value indicating whether to preserve exif meta data. + /// + public bool PreserveExifMetaData + { + get + { + return GetImageProcessingSection().PreserveExifMetaData; + } + } + #region Caching /// /// Gets the maximum number of days to store images in the cache. diff --git a/src/ImageProcessor.Web/NET45/Config/Resources/processing.config b/src/ImageProcessor.Web/NET45/Config/Resources/processing.config index a091e72db..562cafcb8 100644 --- a/src/ImageProcessor.Web/NET45/Config/Resources/processing.config +++ b/src/ImageProcessor.Web/NET45/Config/Resources/processing.config @@ -1,4 +1,4 @@ - + diff --git a/src/ImageProcessor.Web/NET45/HttpModules/ImageProcessingModule.cs b/src/ImageProcessor.Web/NET45/HttpModules/ImageProcessingModule.cs index a1f4b62da..efcbdc2ed 100644 --- a/src/ImageProcessor.Web/NET45/HttpModules/ImageProcessingModule.cs +++ b/src/ImageProcessor.Web/NET45/HttpModules/ImageProcessingModule.cs @@ -65,6 +65,11 @@ namespace ImageProcessor.Web.HttpModules /// private static string remotePrefix; + /// + /// Whether to preserve exif meta data. + /// + private static bool? preserveExifMetaData; + /// /// A value indicating whether this instance of the given entity has been disposed. /// @@ -115,6 +120,11 @@ namespace ImageProcessor.Web.HttpModules remotePrefix = ImageProcessorConfig.Instance.RemotePrefix; } + if (preserveExifMetaData == null) + { + preserveExifMetaData = ImageProcessorConfig.Instance.PreserveExifMetaData; + } + #if NET45 EventHandlerTaskAsyncHelper wrapper = new EventHandlerTaskAsyncHelper(this.PostAuthorizeRequest); context.AddOnPostAuthorizeRequestAsync(wrapper.BeginEventHandler, wrapper.EndEventHandler); @@ -370,7 +380,7 @@ namespace ImageProcessor.Web.HttpModules string cachedPath = cache.CachedPath; // Process the image. - using (ImageFactory imageFactory = new ImageFactory()) + using (ImageFactory imageFactory = new ImageFactory(preserveExifMetaData != null && preserveExifMetaData.Value)) { if (isRemote) { diff --git a/src/ImageProcessor.Web/NET45/Properties/AssemblyInfo.cs b/src/ImageProcessor.Web/NET45/Properties/AssemblyInfo.cs index fb3be6046..d5904d37b 100644 --- a/src/ImageProcessor.Web/NET45/Properties/AssemblyInfo.cs +++ b/src/ImageProcessor.Web/NET45/Properties/AssemblyInfo.cs @@ -35,5 +35,5 @@ using ImageProcessor.Web.HttpModules; // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("3.2.4.0")] -[assembly: AssemblyFileVersion("3.2.4.0")] \ No newline at end of file +[assembly: AssemblyVersion("3.2.5.0")] +[assembly: AssemblyFileVersion("3.2.5.0")] \ No newline at end of file diff --git a/src/ImageProcessor.Web/NET45/Settings.StyleCop b/src/ImageProcessor.Web/NET45/Settings.StyleCop index 13af6f9ae..05e1b6c70 100644 --- a/src/ImageProcessor.Web/NET45/Settings.StyleCop +++ b/src/ImageProcessor.Web/NET45/Settings.StyleCop @@ -1,6 +1,7 @@ + exif Mutexes querystring diff --git a/src/ImageProcessor/ImageFactory.cs b/src/ImageProcessor/ImageFactory.cs index 92f89b0f8..b88c3d3bf 100644 --- a/src/ImageProcessor/ImageFactory.cs +++ b/src/ImageProcessor/ImageFactory.cs @@ -71,9 +71,9 @@ namespace ImageProcessor /// Initializes a new instance of the class. /// /// - /// Whether to preserve exif metadata. Defaults to true. + /// Whether to preserve exif metadata. Defaults to false. /// - public ImageFactory(bool preserveExifData = true) + public ImageFactory(bool preserveExifData = false) { this.PreserveExifData = preserveExifData; this.ExifPropertyItems = new ConcurrentDictionary(); diff --git a/src/ImageProcessor/Properties/AssemblyInfo.cs b/src/ImageProcessor/Properties/AssemblyInfo.cs index e7e793a69..8b03506f0 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.9.1.0")] -[assembly: AssemblyFileVersion("1.9.1.0")] +[assembly: AssemblyVersion("1.9.2.0")] +[assembly: AssemblyFileVersion("1.9.2.0")] diff --git a/src/TestWebsites/NET45/Test_Website_NET45/config/imageprocessor/processing.config b/src/TestWebsites/NET45/Test_Website_NET45/config/imageprocessor/processing.config index d81783805..6aa5af4ea 100644 --- a/src/TestWebsites/NET45/Test_Website_NET45/config/imageprocessor/processing.config +++ b/src/TestWebsites/NET45/Test_Website_NET45/config/imageprocessor/processing.config @@ -1,5 +1,5 @@  - +