diff --git a/.gitignore b/.gitignore index 6b6928926..2fc43e4a1 100644 --- a/.gitignore +++ b/.gitignore @@ -64,6 +64,9 @@ local.properties .builds **/*.dotCover +# Xamarin +*.userprefs + ## TODO: If you have NuGet Package Restore enabled, uncomment this packages/ diff --git a/README.md b/README.md index d4d302c40..14d8451e7 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,29 @@ Imageprocessor is a lightweight library written in C# that allows you to manipul It's fast, extensible, easy to use, comes bundled with some great features and is fully open source. -For full documentation please see [http://imageprocessor.org/](http://imageprocessor.org/) \ No newline at end of file +For full documentation please see [http://imageprocessor.org/](http://imageprocessor.org/) + +##Contributing to ImageProcessor +Contribution is most welcome! I mean, that's what this is all about isn't it? + +Things I would :heart: people to help me out with: + + - Unit tests. I need to get some going for all the regular expressions within the ImageProcessor core plus anywhere else we can think of. If that's your bag please contribute. + - Documentation. Nobody likes doing docs, I've written a lot but my prose is clumsy and verbose. If you think you can make things clearer or you spot any mistakes please submit a pull request (Guide to how the docs work below). + - Async. I'd love someone with real async chops to have a look at the ImageProcessor.Web. It works and it works damn well but I'm no expert on threading so I'm sure someone can improve on it. + +**Just remember to StyleCop all things! :oncoming_police_car:** + +##RoadMap +I want the next version of ImageProcessor to run on all devices. Sadly it looks like using `System.Drawing` will not allow me to do that so I need to have a look at using the classes within [System.Windows.Media.Imaging](http://msdn.microsoft.com/en-us/library/System.Windows.Media.Imaging(v=vs.110).aspx) This is a **LOT** of work so any help that could be offered would be greatly appreciated. + +##Documentation + +ImageProcessor's documentation, included in this repo in the gh_pages directory, is built with [Jekyll](http://jekyllrb.com) and publicly hosted on GitHub Pages at . The docs may also be run locally. + +### Running documentation locally +1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v1.5.x). + - **Windows users:** Read [this unofficial guide](https://github.com/juthilo/run-jekyll-on-windows/) to get Jekyll up and running without problems. +2. From the root `/ImageProcessor` directory, run `jekyll serve` in the command line. +3. Open in your browser to navigate to your site. +Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/). \ No newline at end of file diff --git a/build/Build.bat b/build/Build.bat index f39a94e86..0f1c369bb 100644 --- a/build/Build.bat +++ b/build/Build.bat @@ -1,4 +1,5 @@ @ECHO OFF + SET version=2.0.0.0 SET webversion=4.0.0.0 SET webconfigversion=2.0.0.0 diff --git a/src/ImageProcessor.Tests/ImageProcessor.Tests.csproj b/src/ImageProcessor.Tests/ImageProcessor.Tests.csproj deleted file mode 100644 index e305908f2..000000000 --- a/src/ImageProcessor.Tests/ImageProcessor.Tests.csproj +++ /dev/null @@ -1,116 +0,0 @@ - - - - Debug - AnyCPU - {39911A38-CA06-413C-80AA-39EF60CE984F} - Library - Properties - ImageProcessor.Tests - ImageProcessor.Tests - v4.5 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 10.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - bin\x86\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - bin\x86\Release\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - - - - - - - - - - {d011a778-59c8-4bfa-a770-c350216bf161} - ImageProcessor.Web_NET45 - - - {3b5dd734-fb7a-487d-8ce6-55e7af9aea7e} - ImageProcessor - - - - - - - - - - False - - - False - - - False - - - False - - - - - - - - \ No newline at end of file diff --git a/src/ImageProcessor.Tests/Properties/AssemblyInfo.cs b/src/ImageProcessor.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index e2341f344..000000000 --- a/src/ImageProcessor.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ImageProcessor.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("ImageProcessor.Tests")] -[assembly: AssemblyCopyright("Copyright © 2013")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ab617b65-7259-4dc5-9dad-81a7c6537a4f")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// 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: AssemblyFileVersion("1.0.0.0")] diff --git a/src/ImageProcessor.Tests/app.config b/src/ImageProcessor.Tests/app.config deleted file mode 100644 index 7d285c859..000000000 --- a/src/ImageProcessor.Tests/app.config +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/ImageProcessor.UnitTests/ImageFactoryUnitTests.cs b/src/ImageProcessor.UnitTests/ImageFactoryUnitTests.cs new file mode 100644 index 000000000..940702f9c --- /dev/null +++ b/src/ImageProcessor.UnitTests/ImageFactoryUnitTests.cs @@ -0,0 +1,55 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. +// +// +// Unit tests for the ImageFactory (loading of images) +// +// -------------------------------------------------------------------------------------------------------------------- + +namespace ImageProcessor.UnitTests +{ + using System; + using System.IO; + using NUnit.Framework; + + /// + /// Test harness for the image factory + /// + [TestFixture] + public class ImageFactoryUnitTests + { + /// + /// The path to the binary's folder + /// + private readonly string localPath = Path.GetDirectoryName(new Uri(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).LocalPath); + + /// + /// Tests the loading of image from a file + /// + /// + /// The file Name. + /// + /// + /// The expected mime type. + /// + [Test] + [TestCase("Chrysanthemum.jpg", "image/jpeg")] + [TestCase("Desert.jpg", "image/jpeg")] + [TestCase("cmyk.png", "image/png")] + [TestCase("Penguins.bmp", "image/bmp")] + [TestCase("Penguins.gif", "image/gif")] + public void TestLoadImageFromFile(string fileName, string expectedMime) + { + var testPhoto = Path.Combine(this.localPath, string.Format("Images/{0}", fileName)); + using (ImageFactory imageFactory = new ImageFactory()) + { + imageFactory.Load(testPhoto); + Assert.AreEqual(testPhoto, imageFactory.ImagePath); + Assert.AreEqual(expectedMime, imageFactory.CurrentImageFormat.MimeType); + Assert.IsNotNull(imageFactory.Image); + } + } + } +} \ No newline at end of file diff --git a/src/ImageProcessor.UnitTests/ImageProcessor.UnitTests.csproj b/src/ImageProcessor.UnitTests/ImageProcessor.UnitTests.csproj new file mode 100644 index 000000000..afce9a1d2 --- /dev/null +++ b/src/ImageProcessor.UnitTests/ImageProcessor.UnitTests.csproj @@ -0,0 +1,183 @@ + + + + Debug + AnyCPU + {03CA9055-F997-428C-BF28-F50F991777C6} + Library + ImageProcessor.UnitTests + ImageProcessor.UnitTests + + + ..\ + true + v4.5 + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + false + false + + + full + true + bin\Release + prompt + 4 + false + false + + + + + + ..\packages\NUnit.2.6.3\lib\nunit.framework.dll + + + + + + + + + + + + {d011a778-59c8-4bfa-a770-c350216bf161} + ImageProcessor.Web_NET45 + + + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E} + ImageProcessor + + + + + + Images\Chrysanthemum.jpg + PreserveNewest + + + Images\Desert.jpg + PreserveNewest + + + Images\Hydrangeas.jpg + PreserveNewest + + + Images\Jellyfish.jpg + PreserveNewest + + + Images\Koala.jpg + PreserveNewest + + + Images\Lighthouse.jpg + PreserveNewest + + + Images\Penguins-200.jpg + PreserveNewest + + + Images\Penguins-8.png + PreserveNewest + + + Images\Penguins.bmp + PreserveNewest + + + Images\Penguins.gif + PreserveNewest + + + Images\Penguins.jpg + PreserveNewest + + + Images\Penguins.png + PreserveNewest + + + Images\Penguins.tif + PreserveNewest + + + Images\Tulips.jpg + PreserveNewest + + + Images\bus.jpg + PreserveNewest + + + Images\cmyk.jpg + PreserveNewest + + + Images\cmyk.png + PreserveNewest + + + Images\jrt.jpg + PreserveNewest + + + Images\meter.gif + PreserveNewest + + + Images\rocks.jpg + PreserveNewest + + + Images\rotate.jpg + PreserveNewest + + + Images\sample1.jpg + PreserveNewest + + + Images\srgb.jpg + PreserveNewest + + + Images\srgb.png + PreserveNewest + + + Images\text.png + PreserveNewest + + + Images\thor.jpg + PreserveNewest + + + Images\udendørs-374.jpg + PreserveNewest + + + Images\udendørs.jpg + PreserveNewest + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/src/ImageProcessor.Tests/RegularExpressionUnitTests.cs b/src/ImageProcessor.UnitTests/RegularExpressionUnitTests.cs similarity index 91% rename from src/ImageProcessor.Tests/RegularExpressionUnitTests.cs rename to src/ImageProcessor.UnitTests/RegularExpressionUnitTests.cs index e65591c57..417e94f8c 100644 --- a/src/ImageProcessor.Tests/RegularExpressionUnitTests.cs +++ b/src/ImageProcessor.UnitTests/RegularExpressionUnitTests.cs @@ -1,32 +1,31 @@ -// ----------------------------------------------------------------------- +// -------------------------------------------------------------------------------------------------------------------- // -// Copyright (c) James South. -// Licensed under the Apache License, Version 2.0. +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. // -// ----------------------------------------------------------------------- -namespace ImageProcessor.Tests +// +// Unit tests for the ImageProcessor regular expressions +// +// -------------------------------------------------------------------------------------------------------------------- + +namespace ImageProcessor.UnitTests { - #region Using using System.Drawing; using ImageProcessor.Imaging; using ImageProcessor.Imaging.Filters; using ImageProcessor.Imaging.Formats; - using Microsoft.VisualStudio.TestTools.UnitTesting; - #endregion + using NUnit.Framework; /// - /// The regular expression unit tests. - /// This is a work in progress. YAWN! + /// Test harness for the regular expressions /// - [TestClass] + [TestFixture] public class RegularExpressionUnitTests { - #region Regular Expression Tests - /// /// The alpha regex unit test. /// - [TestMethod] + [Test] public void TestAlphaRegex() { const string Querystring = "alpha=56"; @@ -43,7 +42,7 @@ namespace ImageProcessor.Tests /// /// The brightness regex unit test. /// - [TestMethod] + [Test] public void TestBrightnessRegex() { const string Querystring = "brightness=56"; @@ -60,7 +59,7 @@ namespace ImageProcessor.Tests /// /// The contrast regex unit test. /// - [TestMethod] + [Test] public void TestContrastRegex() { const string Querystring = "contrast=56"; @@ -77,7 +76,7 @@ namespace ImageProcessor.Tests /// /// The rotate regex unit test. /// - [TestMethod] + [Test] public void TestCropRegex() { const string Querystring = "crop=0,0,150,300"; @@ -93,7 +92,7 @@ namespace ImageProcessor.Tests /// /// The filter regex unit test. /// - [TestMethod] + [Test] public void TestFilterRegex() { // Should really write more for the other filters. @@ -111,7 +110,7 @@ namespace ImageProcessor.Tests /// /// The format regex unit test. /// - [TestMethod] + [Test] public void TestFormatRegex() { const string Querystring = "format=gif"; @@ -128,7 +127,7 @@ namespace ImageProcessor.Tests /// /// The quality regex unit test. /// - [TestMethod] + [Test] public void TestQualityRegex() { const string Querystring = "quality=56"; @@ -145,7 +144,7 @@ namespace ImageProcessor.Tests /// /// The resize regex unit test. /// - [TestMethod] + [Test] public void TestResizeRegex() { const string Querystring = "width=300"; @@ -162,7 +161,7 @@ namespace ImageProcessor.Tests /// /// The rotate regex unit test. /// - [TestMethod] + [Test] public void TestRotateRegex() { const string Querystring = "rotate=270"; @@ -179,7 +178,7 @@ namespace ImageProcessor.Tests /// /// The rounded corners regex unit test. /// - [TestMethod] + [Test] public void TestRoundedCornersRegex() { const string Querystring = "roundedcorners=30"; @@ -195,7 +194,7 @@ namespace ImageProcessor.Tests /// /// The tint regex unit test. /// - [TestMethod] + [Test] public void TestTintRegex() { const string HexQuerystring = "tint=6aa6cc"; @@ -213,6 +212,5 @@ namespace ImageProcessor.Tests Color actualRgba = tint.Processor.DynamicParameter; Assert.AreEqual(expectedRgba, actualRgba); } - #endregion } } \ No newline at end of file diff --git a/src/ImageProcessor.UnitTests/packages.config b/src/ImageProcessor.UnitTests/packages.config new file mode 100644 index 000000000..5a3253fcb --- /dev/null +++ b/src/ImageProcessor.UnitTests/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/ImageProcessor.Web/NET4/Settings.StyleCop b/src/ImageProcessor.Web/NET4/Settings.StyleCop deleted file mode 100644 index 253825567..000000000 --- a/src/ImageProcessor.Web/NET4/Settings.StyleCop +++ /dev/null @@ -1,11 +0,0 @@ - - - - - James South - Copyright (c) James South. -Licensed under the Apache License, Version 2.0. - - - - \ No newline at end of file diff --git a/src/ImageProcessor.Web/NET45/Processors/Alpha.cs b/src/ImageProcessor.Web/NET45/Processors/Alpha.cs index 760fca99e..eec352608 100644 --- a/src/ImageProcessor.Web/NET45/Processors/Alpha.cs +++ b/src/ImageProcessor.Web/NET45/Processors/Alpha.cs @@ -1,4 +1,14 @@ -namespace ImageProcessor.Web.Processors +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. +// +// +// Encapsulates methods to change the alpha component of the image to effect its transparency. +// +// -------------------------------------------------------------------------------------------------------------------- + +namespace ImageProcessor.Web.Processors { using System; using System.Text.RegularExpressions; diff --git a/src/ImageProcessor.Web/NET45/Processors/AutoRotate.cs b/src/ImageProcessor.Web/NET45/Processors/AutoRotate.cs index 7589becc3..6fc01dfc6 100644 --- a/src/ImageProcessor.Web/NET45/Processors/AutoRotate.cs +++ b/src/ImageProcessor.Web/NET45/Processors/AutoRotate.cs @@ -1,4 +1,15 @@ -namespace ImageProcessor.Web.Processors +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. +// +// +// Performs auto-rotation to ensure that EXIF defined rotation is reflected in +// the final image. +// +// -------------------------------------------------------------------------------------------------------------------- + +namespace ImageProcessor.Web.Processors { using System.Text.RegularExpressions; using ImageProcessor.Processors; diff --git a/src/ImageProcessor.Web/NET45/Properties/AssemblyInfo.cs b/src/ImageProcessor.Web/NET45/Properties/AssemblyInfo.cs index d5ad131ff..57f3627a6 100644 --- a/src/ImageProcessor.Web/NET45/Properties/AssemblyInfo.cs +++ b/src/ImageProcessor.Web/NET45/Properties/AssemblyInfo.cs @@ -1,14 +1,19 @@ -using System.Reflection; -using System.Runtime.CompilerServices; +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. +// +// +// AssemblyInfo.cs +// +// -------------------------------------------------------------------------------------------------------------------- + +using System.Reflection; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -using System.Web; - -using ImageProcessor.Web.HttpModules; - [assembly: AssemblyTitle("ImageProcessor.Web")] [assembly: AssemblyDescription("A library for on-the-fly processing of image files with ASP.NET written in C#")] [assembly: AssemblyConfiguration("James South")] @@ -36,4 +41,4 @@ 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("4.0.0.0")] -[assembly: AssemblyFileVersion("4.0.0.0")] \ No newline at end of file +[assembly: AssemblyFileVersion("4.0.0.0")] diff --git a/src/ImageProcessor.Web/NET45/Settings.StyleCop b/src/ImageProcessor.Web/NET45/Settings.StyleCop deleted file mode 100644 index 05e1b6c70..000000000 --- a/src/ImageProcessor.Web/NET45/Settings.StyleCop +++ /dev/null @@ -1,18 +0,0 @@ - - - - exif - Mutexes - querystring - - - - - - James South - Copyright (c) James South. -Licensed under the Apache License, Version 2.0. - - - - \ No newline at end of file diff --git a/src/ImageProcessor.sln b/src/ImageProcessor.sln index a8060449d..186a446c7 100644 --- a/src/ImageProcessor.sln +++ b/src/ImageProcessor.sln @@ -1,6 +1,6 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 +# Visual Studio 2012 VisualStudioVersion = 12.0.30110.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C427A497-74DC-49B1-8420-D6E68354F29B}" @@ -18,8 +18,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{1E656C EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageProcessor", "ImageProcessor\ImageProcessor.csproj", "{3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageProcessor.Tests", "ImageProcessor.Tests\ImageProcessor.Tests.csproj", "{39911A38-CA06-413C-80AA-39EF60CE984F}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Web.Tests", "Web.Test\Web.Tests.csproj", "{23CE0FC0-9E59-4C93-A604-A4A98A6284D1}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_Website_MVC_NET4", "TestWebsites\NET4\Test_Website_MVC_NET4.csproj", "{30327C08-7574-4D7E-AC95-6A58753C6855}" @@ -34,6 +32,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_Website_Webforms_NET45 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageProcessorConsole", "ImageProcessorConsole\ImageProcessorConsole.csproj", "{7BF5274B-56A7-4B62-8105-E9BDF25BAFE7}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageProcessor.UnitTests", "ImageProcessor.UnitTests\ImageProcessor.UnitTests.csproj", "{03CA9055-F997-428C-BF28-F50F991777C6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution All|Any CPU = All|Any CPU @@ -47,39 +47,24 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|Any CPU.ActiveCfg = All|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|Any CPU.Build.0 = All|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|Mixed Platforms.ActiveCfg = All|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|Mixed Platforms.Build.0 = All|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|x86.ActiveCfg = All|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|x86.ActiveCfg = Debug|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|Any CPU.Build.0 = Release|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|x86.ActiveCfg = Release|Any CPU - {39911A38-CA06-413C-80AA-39EF60CE984F}.All|Any CPU.ActiveCfg = Release|Any CPU - {39911A38-CA06-413C-80AA-39EF60CE984F}.All|Any CPU.Build.0 = Release|Any CPU - {39911A38-CA06-413C-80AA-39EF60CE984F}.All|Mixed Platforms.ActiveCfg = Release|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.All|Mixed Platforms.Build.0 = Release|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.All|x86.ActiveCfg = Release|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.All|x86.Build.0 = Release|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {39911A38-CA06-413C-80AA-39EF60CE984F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {39911A38-CA06-413C-80AA-39EF60CE984F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.Debug|x86.ActiveCfg = Debug|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.Debug|x86.Build.0 = Debug|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {39911A38-CA06-413C-80AA-39EF60CE984F}.Release|Any CPU.Build.0 = Release|Any CPU - {39911A38-CA06-413C-80AA-39EF60CE984F}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.Release|Mixed Platforms.Build.0 = Release|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.Release|x86.ActiveCfg = Release|x86 - {39911A38-CA06-413C-80AA-39EF60CE984F}.Release|x86.Build.0 = Release|x86 + {03CA9055-F997-428C-BF28-F50F991777C6}.All|Any CPU.ActiveCfg = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.All|Any CPU.Build.0 = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.All|Mixed Platforms.ActiveCfg = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.All|Mixed Platforms.Build.0 = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.All|x86.ActiveCfg = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.All|x86.Build.0 = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Debug|x86.ActiveCfg = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Debug|x86.Build.0 = Debug|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Release|Any CPU.Build.0 = Release|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Release|x86.ActiveCfg = Release|Any CPU + {03CA9055-F997-428C-BF28-F50F991777C6}.Release|x86.Build.0 = Release|Any CPU {23CE0FC0-9E59-4C93-A604-A4A98A6284D1}.All|Any CPU.ActiveCfg = Release|Any CPU {23CE0FC0-9E59-4C93-A604-A4A98A6284D1}.All|Any CPU.Build.0 = Release|Any CPU {23CE0FC0-9E59-4C93-A604-A4A98A6284D1}.All|Mixed Platforms.ActiveCfg = Release|Any CPU @@ -112,21 +97,21 @@ Global {30327C08-7574-4D7E-AC95-6A58753C6855}.Release|Mixed Platforms.Build.0 = Release|x86 {30327C08-7574-4D7E-AC95-6A58753C6855}.Release|x86.ActiveCfg = Release|x86 {30327C08-7574-4D7E-AC95-6A58753C6855}.Release|x86.Build.0 = Release|x86 - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|Any CPU.ActiveCfg = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|Any CPU.Build.0 = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|Mixed Platforms.ActiveCfg = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|Mixed Platforms.Build.0 = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|x86.ActiveCfg = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|x86.ActiveCfg = Debug|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|Any CPU.Build.0 = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|x86.ActiveCfg = Release|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|Any CPU.ActiveCfg = All|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|Any CPU.Build.0 = All|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|Mixed Platforms.ActiveCfg = All|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|Mixed Platforms.Build.0 = All|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.All|x86.ActiveCfg = All|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Debug|x86.ActiveCfg = Debug|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|Any CPU.Build.0 = Release|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E}.Release|x86.ActiveCfg = Release|Any CPU {4F7050F2-465F-4E10-8DB2-2FB97AC6AA43}.All|Any CPU.ActiveCfg = All|Any CPU {4F7050F2-465F-4E10-8DB2-2FB97AC6AA43}.All|Any CPU.Build.0 = All|Any CPU {4F7050F2-465F-4E10-8DB2-2FB97AC6AA43}.All|Mixed Platforms.ActiveCfg = All|Any CPU @@ -142,36 +127,6 @@ Global {4F7050F2-465F-4E10-8DB2-2FB97AC6AA43}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {4F7050F2-465F-4E10-8DB2-2FB97AC6AA43}.Release|Mixed Platforms.Build.0 = Release|Any CPU {4F7050F2-465F-4E10-8DB2-2FB97AC6AA43}.Release|x86.ActiveCfg = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.All|Any CPU.ActiveCfg = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.All|Any CPU.Build.0 = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.All|Mixed Platforms.ActiveCfg = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.All|Mixed Platforms.Build.0 = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.All|x86.ActiveCfg = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|x86.ActiveCfg = Debug|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Release|Any CPU.Build.0 = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D011A778-59C8-4BFA-A770-C350216BF161}.Release|x86.ActiveCfg = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|Any CPU.ActiveCfg = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|Any CPU.Build.0 = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|Mixed Platforms.ActiveCfg = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|Mixed Platforms.Build.0 = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|x86.ActiveCfg = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|x86.ActiveCfg = Debug|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|Any CPU.Build.0 = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|x86.ActiveCfg = Release|Any CPU {7BF5274B-56A7-4B62-8105-E9BDF25BAFE7}.All|Any CPU.ActiveCfg = Release|Any CPU {7BF5274B-56A7-4B62-8105-E9BDF25BAFE7}.All|Any CPU.Build.0 = Release|Any CPU {7BF5274B-56A7-4B62-8105-E9BDF25BAFE7}.All|Mixed Platforms.ActiveCfg = Release|Any CPU @@ -187,6 +142,56 @@ Global {7BF5274B-56A7-4B62-8105-E9BDF25BAFE7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {7BF5274B-56A7-4B62-8105-E9BDF25BAFE7}.Release|Mixed Platforms.Build.0 = Release|Any CPU {7BF5274B-56A7-4B62-8105-E9BDF25BAFE7}.Release|x86.ActiveCfg = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|Any CPU.ActiveCfg = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|Any CPU.Build.0 = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|Mixed Platforms.ActiveCfg = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|Mixed Platforms.Build.0 = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.All|x86.ActiveCfg = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Debug|x86.ActiveCfg = Debug|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|Any CPU.Build.0 = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {8DA47D8C-DB1A-4D82-843F-896AB9C3B3D2}.Release|x86.ActiveCfg = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.All|Any CPU.ActiveCfg = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.All|Any CPU.Build.0 = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.All|Mixed Platforms.ActiveCfg = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.All|Mixed Platforms.Build.0 = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.All|x86.ActiveCfg = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Debug|x86.ActiveCfg = Debug|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Release|Any CPU.Build.0 = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {D011A778-59C8-4BFA-A770-C350216BF161}.Release|x86.ActiveCfg = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|Any CPU.ActiveCfg = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|Any CPU.Build.0 = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|Mixed Platforms.ActiveCfg = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|Mixed Platforms.Build.0 = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.All|x86.ActiveCfg = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Debug|x86.ActiveCfg = Debug|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|Any CPU.Build.0 = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {F6A208E9-C18F-43E9-B051-3C6EED30FDAF}.Release|x86.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + StartupItem = ImageProcessorConsole\ImageProcessorConsole.csproj EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/ImageProcessor.sln.DotSettings b/src/ImageProcessor.sln.DotSettings new file mode 100644 index 000000000..94cb9dbcb --- /dev/null +++ b/src/ImageProcessor.sln.DotSettings @@ -0,0 +1,16 @@ + + BPP + DT + FPX + FR + ICC + ISO + JPEG + JPEGAC + JPEGDC + JPEGQ + LPI + OECF + REF + SRGB + SS \ No newline at end of file diff --git a/src/ImageProcessor/ImageFactory.cs b/src/ImageProcessor/ImageFactory.cs index db5e38beb..540e34c9a 100644 --- a/src/ImageProcessor/ImageFactory.cs +++ b/src/ImageProcessor/ImageFactory.cs @@ -116,9 +116,9 @@ namespace ImageProcessor public ConcurrentDictionary ExifPropertyItems { get; set; } /// - /// Gets or sets the local image for manipulation. + /// Gets or the local image for manipulation. /// - internal Image Image { get; set; } + public Image Image { get; internal set; } /// /// Gets or sets the stream for storing any input stream to prevent disposal. @@ -415,27 +415,6 @@ namespace ImageProcessor return this; } - /// - /// Applies a filter to the current image. - /// - /// - /// The name of the filter to add to the image. - /// - /// - /// The current instance of the class. - /// - [Obsolete("Will be removed in next major version. Filter(IMatrixFilter matrixFilter) instead.")] - public ImageFactory Filter(string filterName) - { - if (this.ShouldProcess) - { - Filter filter = new Filter { DynamicParameter = filterName }; - this.CurrentImageFormat.ApplyProcessor(filter.ProcessImage, this); - } - - return this; - } - /// /// Applies a filter to the current image. Use the class to /// assign the correct filter. diff --git a/src/ImageProcessor/ImageProcessor.csproj b/src/ImageProcessor/ImageProcessor.csproj index 802dadb56..34f818362 100644 --- a/src/ImageProcessor/ImageProcessor.csproj +++ b/src/ImageProcessor/ImageProcessor.csproj @@ -103,7 +103,6 @@ - diff --git a/src/ImageProcessor/Imaging/ExifPropertyTag.cs b/src/ImageProcessor/Imaging/ExifPropertyTag.cs index 3e714d03c..d3c26ff53 100644 --- a/src/ImageProcessor/Imaging/ExifPropertyTag.cs +++ b/src/ImageProcessor/Imaging/ExifPropertyTag.cs @@ -13,7 +13,6 @@ namespace ImageProcessor.Imaging /// /// The following enum gives descriptions of the property items supported by Windows GDI+. /// - /// TODO: Add more XML descriptions. /// public enum ExifPropertyTag { @@ -159,12 +158,12 @@ namespace ImageProcessor.Imaging ExifDTOrig = 0x9003, /// - /// Null-terminated character string that specifies a fraction of a second for the PropertyTagExifDTOrig tag. + /// Null-terminated character string that specifies a fraction of a second for the tag. /// ExifDTOrigSS = 0x9291, /// - /// Null-terminated character string that specifies a fraction of a second for the PropertyTagDateTime tag. + /// Null-terminated character string that specifies a fraction of a second for the tag. /// ExifDTSubsec = 0x9290, @@ -214,27 +213,31 @@ namespace ImageProcessor.Imaging ExifFocalLength = 0x920A, /// - /// Unit of measure for PropertyTagExifFocalXRes and PropertyTagExifFocalYRes. + /// Unit of measure for and . /// ExifFocalResUnit = 0xA210, /// - /// Number of pixels in the image width (x) direction per unit on the camera focal plane. The unit is specified in PropertyTagExifFocalResUnit. + /// Number of pixels in the image width (x) direction per unit on the camera focal plane. The unit is specified + /// in . /// ExifFocalXRes = 0xA20E, /// - /// Number of pixels in the image height (y) direction per unit on the camera focal plane. The unit is specified in PropertyTagExifFocalResUnit. + /// Number of pixels in the image height (y) direction per unit on the camera focal plane. The unit is specified + /// in . /// ExifFocalYRes = 0xA20F, /// - /// FlashPix format version supported by an FPXR file. If the FPXR function supports FlashPix format version 1.0, this is indicated similarly to PropertyTagExifVer by recording 0100 as a 4-byte ASCII string. Because the type is PropertyTagTypeUndefined, there is no NULL terminator. + /// FlashPix format version supported by an FPXR file. If the FPXR function supports FlashPix format version 1.0, + /// this is indicated similarly to by recording 0100 as a 4-byte ASCII string. + /// Because the type is , there is no NULL terminator. /// ExifFPXVer = 0xA000, /// - /// Private tag used by GDI+. Not for public use. GDI+ uses this tag to locate Exif-specific information. + /// Private tag used by GDI+. Not for public use. GDI+ uses this tag to locate Exif specific information. /// ExifIFD = 0x8769, @@ -319,17 +322,23 @@ namespace ImageProcessor.Imaging ExifSubjectDist = 0x9206, /// - /// Location of the main subject in the scene. The value of this tag represents the pixel at the center of the main subject relative to the left edge. The first value indicates the column number, and the second value indicates the row number. + /// Location of the main subject in the scene. The value of this tag represents the pixel at the center + /// of the main subject relative to the left edge. The first value indicates the column number, and + /// the second value indicates the row number. /// ExifSubjectLoc = 0xA214, /// - /// Comment tag. A tag used by EXIF users to write keywords or comments about the image besides those in PropertyTagImageDescription and without the character-code limitations of the PropertyTagImageDescription tag. + /// Comment tag. A tag used by EXIF users to write keywords or comments about the image besides those + /// in and without the character-code limitations of + /// the tag. /// ExifUserComment = 0x9286, /// - /// Version of the EXIF standard supported. Nonexistence of this field is taken to mean nonconformance to the standard. Conformance to the standard is indicated by recording 0210 as a 4-byte ASCII string. Because the type is PropertyTagTypeUndefined, there is no NULL terminator. + /// Version of the EXIF standard supported. Nonexistence of this field is taken to mean non-conformance to the + /// standard. Conformance to the standard is indicated by recording 0210 as a 4-byte ASCII string. + /// Because the type is , there is no NULL terminator. /// ExifVer = 0x9000, @@ -369,7 +378,7 @@ namespace ImageProcessor.Imaging GlobalPalette = 0x5102, /// - /// Altitude, in meters, based on the reference altitude specified by PropertyTagGpsAltitudeRef. + /// Altitude, in meters, based on the reference altitude specified by . /// GpsAltitude = 0x0006, @@ -394,297 +403,325 @@ namespace ImageProcessor.Imaging GpsDestDist = 0x001A, /// - /// Null-terminated character string that specifies the unit used to express the distance to the destination point. K, M, and N represent kilometers, miles, and knots respectively. + /// Null-terminated character string that specifies the unit used to express the distance to the destination point. + /// K, M, and N represent kilometers, miles, and knots respectively. /// GpsDestDistRef = 0x0019, /// - /// Latitude of the destination point. The latitude is expressed as three rational values giving the degrees, minutes, and seconds respectively. When degrees, minutes, and seconds are expressed, the format is dd/1, mm/1, ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format is dd/1, mmmm/100, 0/1. + /// Latitude of the destination point. The latitude is expressed as three rational values giving the degrees, + /// minutes, and seconds respectively. When degrees, minutes, and seconds are expressed, the format is + /// dd/1, mm/1, ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to + /// two decimal places, the format is dd/1, mmmm/100, 0/1. /// GpsDestLat = 0x0014, /// - /// The gps dest lat ref. + /// Null-terminated character string that specifies whether the latitude of the destination point is north or south + /// latitude. N specifies north latitude, and S specifies south latitude. /// GpsDestLatRef = 0x0013, /// - /// The gps dest long. + /// Longitude of the destination point. The longitude is expressed as three rational values giving the degrees, minutes, and seconds respectively. When degrees, minutes, and seconds are expressed, the format is ddd/1, mm/1, ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format is ddd/1, mmmm/100, 0/1. /// GpsDestLong = 0x0016, /// - /// The gps dest long ref. + /// Null-terminated character string that specifies whether the longitude of the destination point is east or west longitude. E specifies east longitude, and W specifies west longitude. /// GpsDestLongRef = 0x0015, /// - /// The gps gps dop. + /// GPS DOP (data degree of precision). An HDOP value is written during 2-D measurement, and a PDOP value is written during 3-D measurement. /// GpsGpsDop = 0x000B, /// - /// The gps gps measure mode. + /// Null-terminated character string that specifies the GPS measurement mode. 2 specifies 2-D measurement, and 3 specifies 3-D measurement. /// GpsGpsMeasureMode = 0x000A, /// - /// The gps gps satellites. + /// Null-terminated character string that specifies the GPS satellites used for measurements. This tag can be used to specify the ID number, angle of elevation, azimuth, SNR, and other information about each satellite. The format is not specified. If the GPS receiver is incapable of taking measurements, the value of the tag must be set to NULL. /// GpsGpsSatellites = 0x0008, /// - /// The gps gps status. + /// Null-terminated character string that specifies the status of the GPS receiver when the image is recorded. A means measurement is in progress, and V means the measurement is Interoperability. /// GpsGpsStatus = 0x0009, /// - /// The gps gps time. + /// Time as coordinated universal time (UTC). The value is expressed as three rational numbers that give the hour, minute, and second. /// GpsGpsTime = 0x0007, /// - /// The gps ifd. + /// Offset to a block of GPS property items. Property items whose tags have the prefix Gps are stored in the GPS block. + /// The GPS property items are defined in the EXIF specification. GDI+ uses this tag to locate GPS information, + /// but GDI+ does not expose this tag for public use. /// GpsIFD = 0x8825, /// - /// The gps img dir. + /// Direction of the image when it was captured. The range of values is from 0.00 to 359.99. /// GpsImgDir = 0x0011, /// - /// The gps img dir ref. + /// Null-terminated character string that specifies the reference for the direction of the image when it is captured. T specifies true direction, and M specifies magnetic direction. /// GpsImgDirRef = 0x0010, /// - /// The gps latitude. + /// Latitude. Latitude is expressed as three rational values giving the degrees, minutes, and seconds respectively. When degrees, minutes, and seconds are expressed, the format is dd/1, mm/1, ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format is dd/1, mmmm/100, 0/1. /// GpsLatitude = 0x0002, /// - /// The gps latitude ref. + /// Null-terminated character string that specifies whether the longitude is east or west longitude. + /// E specifies east longitude, and W specifies west longitude. /// GpsLatitudeRef = 0x0001, /// - /// The gps longitude. + /// Longitude. Longitude is expressed as three rational values giving the degrees, minutes, and seconds + /// respectively. When degrees, minutes and seconds are expressed, the format is ddd/1, mm/1, ss/1. + /// When degrees and minutes are used and, for example, fractions of minutes are given up to two + /// decimal places, the format is ddd/1, mmmm/100, 0/1. /// GpsLongitude = 0x0004, /// - /// The gps longitude ref. + /// Null-terminated character string that specifies whether the longitude is east or west longitude. + /// E specifies east longitude, and W specifies west longitude. /// GpsLongitudeRef = 0x0003, /// - /// The gps map datum. + /// Null-terminated character string that specifies geodetic survey data used by the GPS receiver. + /// If the survey data is restricted to Japan, the value of this tag is TOKYO or WGS-84. /// GpsMapDatum = 0x0012, /// - /// The gps speed. + /// Speed of the GPS receiver movement. /// GpsSpeed = 0x000D, /// - /// The gps speed ref. + /// Null-terminated character string that specifies the unit used to express the GPS receiver speed of movement. + /// K, M, and N represent kilometers per hour, miles per hour, and knots respectively. /// GpsSpeedRef = 0x000C, /// - /// The gps track. + /// Direction of GPS receiver movement. The range of values is from 0.00 to 359.99. /// GpsTrack = 0x000F, /// - /// The gps track ref. + /// Null-terminated character string that specifies the reference for giving the direction of + /// GPS receiver movement. T specifies true direction, and M specifies magnetic direction. /// GpsTrackRef = 0x000E, /// - /// The gps ver. + /// Version of the Global Positioning Systems (GPS) IFD, given as 2.0.0.0. This tag is mandatory when + /// the tag is present. When the version is 2.0.0.0, the tag value is 0x02000000. /// GpsVer = 0x0000, /// - /// The gray response curve. + /// For each possible pixel value in a grayscale image, the optical density of that pixel value. /// GrayResponseCurve = 0x0123, /// - /// The gray response unit. + /// Precision of the number specified by . 1 specifies tenths, + /// 2 specifies hundredths, 3 specifies thousandths, and so on. /// GrayResponseUnit = 0x0122, /// - /// The grid size. + /// Block of information about grids and guides. /// GridSize = 0x5011, /// - /// The halftone degree. + /// Angle for screen. /// HalftoneDegree = 0x500C, /// - /// The halftone hints. + /// Information used by the halftone function. /// HalftoneHints = 0x0141, /// - /// The halftone lpi. + /// Ink's screen frequency, in lines per inch. /// HalftoneLPI = 0x500A, /// - /// The halftone lpi unit. + /// Units for the screen frequency. /// HalftoneLPIUnit = 0x500B, /// - /// The halftone misc. + /// Miscellaneous halftone information. /// HalftoneMisc = 0x500E, /// - /// The halftone screen. + /// Boolean value that specifies whether to use the printer's default screens. /// HalftoneScreen = 0x500F, /// - /// The halftone shape. + /// Shape of the halftone dots. /// HalftoneShape = 0x500D, /// - /// The host computer. + /// Null-terminated character string that specifies the computer and/or operating system used to create the image. /// HostComputer = 0x013C, /// - /// The icc profile. + /// ICC profile embedded in the image. /// ICCProfile = 0x8773, /// - /// The icc profile descriptor. + /// Null-terminated character string that identifies an ICC profile. /// ICCProfileDescriptor = 0x0302, /// - /// The image description. + /// Null-terminated character string that specifies the title of the image. /// ImageDescription = 0x010E, /// - /// The image height. + /// Number of pixel rows. /// ImageHeight = 0x0101, /// - /// The image title. + /// Null-terminated character string that specifies the title of the image. /// ImageTitle = 0x0320, /// - /// The image width. + /// Number of pixels per row. /// ImageWidth = 0x0100, /// - /// The index background. + /// Index of the background color in the palette of a GIF image. /// IndexBackground = 0x5103, /// - /// The index transparent. + /// Index of the transparent color in the palette of a GIF image. /// IndexTransparent = 0x5104, /// - /// The ink names. + /// Sequence of concatenated, null-terminated, character strings that specify the names of the + /// inks used in a separated image. /// InkNames = 0x014D, /// - /// The ink set. + /// Set of inks used in a separated image. /// InkSet = 0x014C, /// - /// The jpegac tables. + /// For each color component, the offset to the AC Huffman table for that component. + /// See also . /// JPEGACTables = 0x0209, /// - /// The jpegdc tables. + /// For each color component, the offset to the DC Huffman table (or lossless Huffman table) for that + /// component. See also . /// JPEGDCTables = 0x0208, /// - /// The jpeg inter format. + /// Offset to the start of a JPEG bitstream. /// JPEGInterFormat = 0x0201, /// - /// The jpeg inter length. + /// Length, in bytes, of the JPEG bitstream. /// JPEGInterLength = 0x0202, /// - /// The jpeg lossless predictors. + /// For each color component, a lossless predictor-selection value for that component. + /// See also . /// JPEGLosslessPredictors = 0x0205, /// - /// The jpeg point transforms. + /// For each color component, a point transformation value for that component. + /// See also . /// JPEGPointTransforms = 0x0206, /// - /// The jpeg proc. + /// JPEG compression process. /// JPEGProc = 0x0200, /// - /// The jpegq tables. + /// For each color component, the offset to the quantization table for that + /// component. See also . /// JPEGQTables = 0x0207, /// - /// The jpeg quality. + /// Private tag used by the Adobe Photoshop format. Not for public use. /// JPEGQuality = 0x5010, /// - /// The jpeg restart interval. + /// Length of the restart interval. /// JPEGRestartInterval = 0x0203, /// - /// The loop count. + /// For an animated GIF image, the number of times to display the animation. + /// A value of 0 specifies that the animation should be displayed infinitely. /// LoopCount = 0x5101, /// - /// The luminance table. + /// Luminance table. The luminance table and the chrominance table are used to control JPEG quality. + /// A valid luminance or chrominance table has 64 entries of type . + /// If an image has either a luminance table or a chrominance table, then it must have both tables. /// LuminanceTable = 0x5090, /// - /// The max sample value. + /// For each color component, the maximum value assigned to that component. + /// See also . /// MaxSampleValue = 0x0119, /// - /// The min sample value. + /// For each color component, the minimum value assigned to that component. + /// See also . /// MinSampleValue = 0x0118, /// - /// The new subfile type. + /// Type of data in a subfile. /// NewSubfileType = 0x00FE, @@ -694,17 +731,17 @@ namespace ImageProcessor.Imaging NumberOfInks = 0x014E, /// - /// The orientation. + /// Image orientation viewed in terms of rows and columns. /// Orientation = 0x0112, /// - /// The page name. + /// Null-terminated character string that specifies the name of the page from which the image was scanned. /// PageName = 0x011D, /// - /// The page number. + /// Page number of the page from which the image was scanned. /// PageNumber = 0x0129, @@ -714,42 +751,42 @@ namespace ImageProcessor.Imaging PaletteHistogram = 0x5113, /// - /// The photometric interp. + /// How pixel data will be interpreted. /// PhotometricInterp = 0x0106, /// - /// The pixel per unit x. + /// Pixels per unit in the x direction. /// PixelPerUnitX = 0x5111, /// - /// The pixel per unit y. + /// Pixels per unit in the y direction. /// PixelPerUnitY = 0x5112, /// - /// The pixel unit. + /// Unit for and . /// PixelUnit = 0x5110, /// - /// The planar config. + /// Whether pixel components are recorded in chunky or planar format. /// PlanarConfig = 0x011C, /// - /// The predictor. + /// TType of prediction scheme that was applied to the image data before the encoding scheme was applied. /// Predictor = 0x013D, /// - /// The primary chromaticities. + /// For each of the three primary colors in the image, the chromaticity of that color. /// PrimaryChromaticities = 0x013F, /// - /// The print flags. + /// Sequence of one-byte Boolean values that specify printing options. /// PrintFlags = 0x5005, @@ -764,7 +801,7 @@ namespace ImageProcessor.Imaging PrintFlagsBleedWidthScale = 0x5009, /// - /// The print flags crop. + /// The print flags crop marks. /// PrintFlagsCrop = 0x5007, @@ -774,357 +811,381 @@ namespace ImageProcessor.Imaging PrintFlagsVersion = 0x5006, /// - /// The ref black white. + /// Reference black point value and reference white point value. /// REFBlackWhite = 0x0214, /// - /// The resolution unit. + /// Unit of measure for the horizontal resolution and the vertical resolution. /// ResolutionUnit = 0x0128, /// - /// The resolution x length unit. + /// Units in which to display the image width. /// ResolutionXLengthUnit = 0x5003, /// - /// The resolution x unit. + /// Units in which to display horizontal resolution. /// ResolutionXUnit = 0x5001, /// - /// The resolution y length unit. + /// Units in which to display the image height. /// ResolutionYLengthUnit = 0x5004, /// - /// The resolution y unit. + /// Units in which to display vertical resolution. /// ResolutionYUnit = 0x5002, /// - /// The rows per strip. + /// Number of rows per strip. See also and . /// RowsPerStrip = 0x0116, /// - /// The sample format. + /// For each color component, the numerical format (unsigned, signed, floating point) of that component. + /// See also . /// SampleFormat = 0x0153, /// - /// The samples per pixel. + /// Number of color components per pixel. /// SamplesPerPixel = 0x0115, /// - /// The s max sample value. + /// For each color component, the maximum value of that component. See also . /// SMaxSampleValue = 0x0155, /// - /// The s min sample value. + /// For each color component, the minimum value of that component. See also . /// SMinSampleValue = 0x0154, /// - /// The software used. + /// Null-terminated character string that specifies the name and version of the software or + /// firmware of the device used to generate the image. /// SoftwareUsed = 0x0131, /// - /// The srgb rendering intent. + /// How the image should be displayed as defined by the International Color Consortium (ICC). If a GDI+ Image object + /// is constructed with the useEmbeddedColorManagement parameter set to TRUE, then GDI+ renders the image + /// according to the specified rendering intent. The intent can be set to perceptual, relative colorimetric, + /// saturation, or absolute colorimetric. /// SRGBRenderingIntent = 0x0303, /// - /// The strip bytes count. + /// For each strip, the total number of bytes in that strip. /// StripBytesCount = 0x0117, /// - /// The strip offsets. + /// For each strip, the byte offset of that strip. See also + /// and . /// StripOffsets = 0x0111, /// - /// The subfile type. + /// The type of data in a subfile. /// SubfileType = 0x00FF, /// - /// The t 4 option. + /// Set of flags that relate to T4 encoding. /// T4Option = 0x0124, /// - /// The t 6 option. + /// Set of flags that relate to T6 encoding. /// T6Option = 0x0125, /// - /// The target printer. + /// Null-terminated character string that describes the intended printing environment. /// TargetPrinter = 0x0151, /// - /// The thresh holding. + /// Technique used to convert from gray pixels to black and white pixels. /// ThreshHolding = 0x0107, /// - /// The thumbnail artist. + /// Null-terminated character string that specifies the name of the person who created the thumbnail image. /// ThumbnailArtist = 0x5034, /// - /// The thumbnail bits per sample. + /// Number of bits per color component in the thumbnail image. See also . /// ThumbnailBitsPerSample = 0x5022, /// - /// The thumbnail color depth. + /// Bits per pixel (BPP) for the thumbnail image. /// ThumbnailColorDepth = 0x5015, /// - /// The thumbnail compressed size. + /// Compressed size, in bytes, of the thumbnail image. /// ThumbnailCompressedSize = 0x5019, /// - /// The thumbnail compression. + /// Compression scheme used for thumbnail image data. /// ThumbnailCompression = 0x5023, /// - /// The thumbnail copy right. + /// Null-terminated character string that contains copyright information for the thumbnail image. /// ThumbnailCopyRight = 0x503B, /// - /// The thumbnail data. + /// Raw thumbnail bits in JPEG or RGB format. Depends on . /// ThumbnailData = 0x501B, /// - /// The thumbnail date time. + /// Date and time the thumbnail image was created. See also . /// ThumbnailDateTime = 0x5033, /// - /// The thumbnail equip make. + /// Null-terminated character string that specifies the manufacturer of the equipment used to + /// record the thumbnail image. /// ThumbnailEquipMake = 0x5026, /// - /// The thumbnail equip model. + /// Null-terminated character string that specifies the model name or model number of the + /// equipment used to record the thumbnail image. /// ThumbnailEquipModel = 0x5027, /// - /// The thumbnail format. + /// Format of the thumbnail image. /// ThumbnailFormat = 0x5012, /// - /// The thumbnail height. + /// Height, in pixels, of the thumbnail image. /// ThumbnailHeight = 0x5014, /// - /// The thumbnail image description. + /// Null-terminated character string that specifies the title of the image. /// ThumbnailImageDescription = 0x5025, /// - /// The thumbnail image height. + /// Number of pixel rows in the thumbnail image. /// ThumbnailImageHeight = 0x5021, /// - /// The thumbnail image width. + /// Number of pixels per row in the thumbnail image. /// ThumbnailImageWidth = 0x5020, /// - /// The thumbnail orientation. + /// Thumbnail image orientation in terms of rows and columns. See also . /// ThumbnailOrientation = 0x5029, /// - /// The thumbnail photometric interp. + /// How thumbnail pixel data will be interpreted. /// ThumbnailPhotometricInterp = 0x5024, /// - /// The thumbnail planar config. + /// Whether pixel components in the thumbnail image are recorded in chunky or planar format. + /// See also . /// ThumbnailPlanarConfig = 0x502F, /// - /// The thumbnail planes. + /// Number of color planes for the thumbnail image. /// ThumbnailPlanes = 0x5016, /// - /// The thumbnail primary chromaticities. + /// For each of the three primary colors in the thumbnail image, the chromaticity + /// of that color. See also . /// ThumbnailPrimaryChromaticities = 0x5036, /// - /// The thumbnail raw bytes. + /// Byte offset between rows of pixel data. /// ThumbnailRawBytes = 0x5017, /// - /// The thumbnail ref black white. + /// Reference black point value and reference white point value + /// for the thumbnail image. See also . /// ThumbnailRefBlackWhite = 0x503A, /// - /// The thumbnail resolution unit. + /// Unit of measure for the horizontal resolution and the vertical resolution of + /// the thumbnail image. See also . /// ThumbnailResolutionUnit = 0x5030, /// - /// The thumbnail resolution x. + /// Thumbnail resolution in the width direction. + /// The resolution unit is given in . /// ThumbnailResolutionX = 0x502D, /// - /// The thumbnail resolution y. + /// Thumbnail resolution in the height direction. The resolution unit is given + /// in . /// ThumbnailResolutionY = 0x502E, /// - /// The thumbnail rows per strip. + /// Number of rows per strip in the thumbnail image. See also + /// and . /// ThumbnailRowsPerStrip = 0x502B, /// - /// The thumbnail samples per pixel. + /// Number of color components per pixel in the thumbnail image. /// ThumbnailSamplesPerPixel = 0x502A, /// - /// The thumbnail size. + /// Total size, in bytes, of the thumbnail image. /// ThumbnailSize = 0x5018, /// - /// The thumbnail software used. + /// Null-terminated character string that specifies the name and version of the software + /// or firmware of the device used to generate the thumbnail image. /// ThumbnailSoftwareUsed = 0x5032, /// - /// The thumbnail strip bytes count. + /// For each thumbnail image strip, the total number of bytes in that strip. /// ThumbnailStripBytesCount = 0x502C, /// - /// The thumbnail strip offsets. + /// For each strip in the thumbnail image, the byte offset of that strip. See also + /// and . /// ThumbnailStripOffsets = 0x5028, /// - /// The thumbnail transfer function. + /// Tables that specify transfer functions for the thumbnail image. See also . /// ThumbnailTransferFunction = 0x5031, /// - /// The thumbnail white point. + /// Chromaticity of the white point of the thumbnail image. See also . /// ThumbnailWhitePoint = 0x5035, /// - /// The thumbnail width. + /// Width, in pixels, of the thumbnail image. /// ThumbnailWidth = 0x5013, /// - /// The thumbnail y cb cr coefficients. + /// Coefficients for transformation from RGB to YCbCr data for the thumbnail image. + /// See also . /// ThumbnailYCbCrCoefficients = 0x5037, /// - /// The thumbnail y cb cr positioning. + /// Position of chrominance components in relation to the luminance component for + /// the thumbnail image. See also . /// ThumbnailYCbCrPositioning = 0x5039, /// - /// The thumbnail y cb cr subsampling. + /// Sampling ratio of chrominance components in relation to the luminance component for + /// the thumbnail image. See also . /// ThumbnailYCbCrSubsampling = 0x5038, /// - /// The tile byte counts. + /// For each tile, the number of bytes in that tile. /// TileByteCounts = 0x0145, /// - /// The tile length. + /// Number of pixel rows in each tile. /// TileLength = 0x0143, /// - /// The tile offset. + /// For each tile, the byte offset of that tile. /// TileOffset = 0x0144, /// - /// The tile width. + /// Number of pixel columns in each tile. /// TileWidth = 0x0142, /// - /// The transfer function. + /// Tables that specify transfer functions for the image. /// TransferFunction = 0x012D, /// - /// The transfer range. + /// Table of values that extends the range of the transfer function. /// TransferRange = 0x0156, /// - /// The white point. + /// Chromaticity of the white point of the image. /// WhitePoint = 0x013E, /// - /// The x position. + /// Offset from the left side of the page to the left side of the image. + /// The unit of measure is specified by . /// XPosition = 0x011E, /// - /// The x resolution. + /// Number of pixels per unit in the image width (x) direction. + /// The unit is specified by . /// XResolution = 0x011A, /// - /// The y cb cr coefficients. + /// Coefficients for transformation from RGB to YCbCr image data. /// YCbCrCoefficients = 0x0211, /// - /// The y cb cr positioning. + /// Position of chrominance components in relation to the luminance component. /// YCbCrPositioning = 0x0213, /// - /// The y cb cr subsampling. + /// Sampling ratio of chrominance components in relation to the luminance component. /// YCbCrSubsampling = 0x0212, /// - /// The y position. + /// Offset from the top of the page to the top of the image. The unit of measure + /// is specified by . /// YPosition = 0x011F, /// - /// The y resolution. + /// Number of pixels per unit in the image height (y) direction. The unit is specified + /// by . /// YResolution = 0x011B } diff --git a/src/ImageProcessor/Imaging/ResponseType.cs b/src/ImageProcessor/Imaging/ResponseType.cs deleted file mode 100644 index 2cda9c16b..000000000 --- a/src/ImageProcessor/Imaging/ResponseType.cs +++ /dev/null @@ -1,63 +0,0 @@ -// ----------------------------------------------------------------------- -// -// Copyright (c) James South. -// Licensed under the Apache License, Version 2.0. -// -// ----------------------------------------------------------------------- - -namespace ImageProcessor.Imaging -{ - #region Using - using System.ComponentModel; - #endregion - - /// - /// Globally available enumeration which specifies the correct HTTP MIME type of - /// the output stream for different response types. - /// - /// http://en.wikipedia.org/wiki/Internet_media_type"/ - /// - /// - public enum ResponseType - { - #region Image - /// - /// The correct HTTP MIME type of the output stream for bmp images. - /// - [DescriptionAttribute("image/bmp")] - Bmp, - - /// - /// The correct HTTP MIME type of the output stream for gif images. - /// - [DescriptionAttribute("image/gif")] - Gif, - - /// - /// The correct HTTP MIME type of the output stream for jpeg images. - /// - [DescriptionAttribute("image/jpeg")] - Jpeg, - - /// - /// The correct HTTP MIME type of the output stream for png images. - /// - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Png", Justification = "File extension name")] - [DescriptionAttribute("image/png")] - Png, - - /// - /// The correct HTTP MIME type of the output stream for svg images. - /// - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Svg", Justification = "File extension name")] - [DescriptionAttribute("image/svg+xml")] - Svg, - - /// - /// The correct HTTP MIME type of the output stream for tiff images. - /// - [DescriptionAttribute("image/tiff")] - Tiff, - #endregion - } -} diff --git a/src/ImageProcessor/Imaging/RoundedCornerLayer.cs b/src/ImageProcessor/Imaging/RoundedCornerLayer.cs index edfcfd33e..e12c144e6 100644 --- a/src/ImageProcessor/Imaging/RoundedCornerLayer.cs +++ b/src/ImageProcessor/Imaging/RoundedCornerLayer.cs @@ -1,8 +1,16 @@ -namespace ImageProcessor.Imaging +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. +// +// +// Encapsulates the properties required to add rounded corners to an image. +// +// -------------------------------------------------------------------------------------------------------------------- + +namespace ImageProcessor.Imaging { - #region Using using System.Drawing; - #endregion /// /// Encapsulates the properties required to add rounded corners to an image. diff --git a/src/ImageProcessor/Processors/Brightness.cs b/src/ImageProcessor/Processors/Brightness.cs index 51fb2be41..a16f33e5c 100644 --- a/src/ImageProcessor/Processors/Brightness.cs +++ b/src/ImageProcessor/Processors/Brightness.cs @@ -112,4 +112,4 @@ namespace ImageProcessor.Processors return image; } } -} \ No newline at end of file +} diff --git a/src/ImageProcessor/Processors/Contrast.cs b/src/ImageProcessor/Processors/Contrast.cs index 8289b4537..4170e660a 100644 --- a/src/ImageProcessor/Processors/Contrast.cs +++ b/src/ImageProcessor/Processors/Contrast.cs @@ -109,4 +109,4 @@ namespace ImageProcessor.Processors return image; } } -} \ No newline at end of file +} diff --git a/src/ImageProcessor/Processors/Saturation.cs b/src/ImageProcessor/Processors/Saturation.cs index 341d287f3..ede958489 100644 --- a/src/ImageProcessor/Processors/Saturation.cs +++ b/src/ImageProcessor/Processors/Saturation.cs @@ -140,4 +140,4 @@ namespace ImageProcessor.Processors return image; } } -} \ No newline at end of file +} diff --git a/src/ImageProcessor/Properties/AssemblyInfo.cs b/src/ImageProcessor/Properties/AssemblyInfo.cs index 840a38ec8..dcd24ccdc 100644 --- a/src/ImageProcessor/Properties/AssemblyInfo.cs +++ b/src/ImageProcessor/Properties/AssemblyInfo.cs @@ -1,7 +1,15 @@ -using System.Reflection; -using System.Runtime.CompilerServices; +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright (c) James South. +// Licensed under the Apache License, Version 2.0. +// +// +// AssemblyInfo.cs +// +// -------------------------------------------------------------------------------------------------------------------- + +using System.Reflection; using System.Runtime.InteropServices; -using System.Security; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information @@ -33,5 +41,4 @@ 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("2.0.0.0")] -[assembly: AssemblyFileVersion("2.0.0.0")] - +[assembly: AssemblyFileVersion("2.0.0.0")] \ No newline at end of file diff --git a/src/ImageProcessor/Settings.StyleCop b/src/ImageProcessor/Settings.StyleCop index a8aa884a1..29b381707 100644 --- a/src/ImageProcessor/Settings.StyleCop +++ b/src/ImageProcessor/Settings.StyleCop @@ -1,37 +1,16 @@ - behaviour - bootstrapper - chrominance - colour - enum - exif - halftoning - lomograph - Lomograph - lossy - octree - png - quantizer - webp + bitstream + dd + ddd + gps + mmmm + orig + specifier + ss + subfile + ver - - - - James South - Copyright (c) James South. -Licensed under the Apache License, Version 2.0. - - - - - - hi - lo - - - - \ No newline at end of file diff --git a/src/ImageProcessorConsole/ImageProcessorConsole.csproj b/src/ImageProcessorConsole/ImageProcessorConsole.csproj index 39b66751b..09423698e 100644 --- a/src/ImageProcessorConsole/ImageProcessorConsole.csproj +++ b/src/ImageProcessorConsole/ImageProcessorConsole.csproj @@ -1,5 +1,5 @@  - + Debug @@ -9,9 +9,9 @@ Properties ImageProcessorConsole ImageProcessorConsole - v4.5.1 512 true + Client AnyCPU @@ -51,7 +51,7 @@ - {3b5dd734-fb7a-487d-8ce6-55e7af9aea7e} + {3B5DD734-FB7A-487D-8CE6-55E7AF9AEA7E} ImageProcessor diff --git a/src/Settings.StyleCop b/src/Settings.StyleCop new file mode 100644 index 000000000..437aad55d --- /dev/null +++ b/src/Settings.StyleCop @@ -0,0 +1,42 @@ + + + + behaviour + bootstrapper + cb + chrominance + colour + enum + exif + Mutexes + querystring + halftoning + interp + lomograph + Lomograph + lossy + octree + png + quantizer + uncalibrated + webp + + + + + + James South + Copyright (c) James South. +Licensed under the Apache License, Version 2.0. + + + + + + hi + lo + + + + + \ No newline at end of file diff --git a/src/packages/repositories.config b/src/packages/repositories.config index 458c0f4aa..73ccce20c 100644 --- a/src/packages/repositories.config +++ b/src/packages/repositories.config @@ -1,7 +1,8 @@ - - - - - - + + + + + + + \ No newline at end of file