diff --git a/build/Build.bat b/build/Build.bat index 436d2ba1c0..274d2741db 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 73ecb00fbb..5b0f123655 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 3ccb06b4f5..d64b9e126d 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 7111521aff..d1018ba89e 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 2f0357d8b3..c85c250397 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 a091e72dbf..562cafcb89 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 a1f4b62dad..efcbdc2edc 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 fb3be60469..d5904d37b6 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 13af6f9ae3..05e1b6c706 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 92f89b0f8b..b88c3d3bf5 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 e7e793a692..8b03506f0d 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 d817838051..6aa5af4ea4 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 @@  - +