diff --git a/.travis.yml b/.travis.yml
index 1ec68deb8f..6a6f2e166b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -19,9 +19,8 @@ branches:
- coverity_scan
script:
- - cd src/ImageSharp/
- dotnet restore
- - dotnet build -c Release
+ - dotnet build -c Release src/*/project.json
env:
global:
diff --git a/ImageSharp.sln b/ImageSharp.sln
index e949d1d579..1f848b34d1 100644
--- a/ImageSharp.sln
+++ b/ImageSharp.sln
@@ -11,19 +11,17 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImageSharp.Benchmarks", "te
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionItems", "{C317F1B1-D75E-4C6D-83EB-80367343E0D7}"
ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
.travis.yml = .travis.yml
- build\appveyor-project-version-patch.js = build\appveyor-project-version-patch.js
- build\appveyor-semver.ps1 = build\appveyor-semver.ps1
appveyor.yml = appveyor.yml
CodeCoverage.runsettings = CodeCoverage.runsettings
contributing.md = contributing.md
- build\dotnet-latest.ps1 = build\dotnet-latest.ps1
+ dotnet-latest.ps1 = dotnet-latest.ps1
features.md = features.md
global.json = global.json
ImageSharp.ruleset = ImageSharp.ruleset
ImageSharp.sln.DotSettings = ImageSharp.sln.DotSettings
NuGet.config = NuGet.config
- build\package.json = build\package.json
README.md = README.md
Rebracer.xml = Rebracer.xml
Settings.StyleCop = Settings.StyleCop
@@ -33,6 +31,28 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Source", "Source", "{815C06
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{56801022-D71A-4FBE-BC5B-CBA08E2284EC}"
EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImageSharp.Drawing", "src\ImageSharp.Drawing\ImageSharp.Drawing.xproj", "{2E33181E-6E28-4662-A801-E2E7DC206029}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{E919DF0B-2607-4462-8FC0-5C98FE50F8C9}"
+EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "build", "build\build.xproj", "{575A5002-DD9F-4335-AA47-1DD87FA13645}"
+EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImageSharp.Formats.Bmp", "src\ImageSharp.Formats.Bmp\ImageSharp.Formats.Bmp.xproj", "{C77661B9-F793-422E-8E27-AC60ECC5F215}"
+EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImageSharp.Formats.Gif", "src\ImageSharp.Formats.Gif\ImageSharp.Formats.Gif.xproj", "{27AD4B5F-ECC4-4C63-9ECB-04EC772FDB6F}"
+EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImageSharp.Formats.Jpeg", "src\ImageSharp.Formats.Jpeg\ImageSharp.Formats.Jpeg.xproj", "{7213767C-0003-41CA-AB18-0223CFA7CE4B}"
+EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImageSharp.Formats.Png", "src\ImageSharp.Formats.Png\ImageSharp.Formats.Png.xproj", "{556ABDCF-ED93-4327-BE98-F6815F78B9B8}"
+EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImageSharp.Processing", "src\ImageSharp.Processing\ImageSharp.Processing.xproj", "{A623CFE9-9D2B-4528-AD1F-2E834B061134}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{9E574A07-F879-4811-9C41-5CBDC6BAFDB7}"
+ ProjectSection(SolutionItems) = preProject
+ src\Shared\AssemblyInfo.Common.cs = src\Shared\AssemblyInfo.Common.cs
+ src\Shared\stylecop.json = src\Shared\stylecop.json
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -51,6 +71,34 @@ Global
{299D8E18-102C-42DE-ADBF-79098EE706A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{299D8E18-102C-42DE-ADBF-79098EE706A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{299D8E18-102C-42DE-ADBF-79098EE706A8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2E33181E-6E28-4662-A801-E2E7DC206029}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2E33181E-6E28-4662-A801-E2E7DC206029}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2E33181E-6E28-4662-A801-E2E7DC206029}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2E33181E-6E28-4662-A801-E2E7DC206029}.Release|Any CPU.Build.0 = Release|Any CPU
+ {575A5002-DD9F-4335-AA47-1DD87FA13645}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {575A5002-DD9F-4335-AA47-1DD87FA13645}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {575A5002-DD9F-4335-AA47-1DD87FA13645}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {575A5002-DD9F-4335-AA47-1DD87FA13645}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C77661B9-F793-422E-8E27-AC60ECC5F215}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C77661B9-F793-422E-8E27-AC60ECC5F215}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C77661B9-F793-422E-8E27-AC60ECC5F215}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C77661B9-F793-422E-8E27-AC60ECC5F215}.Release|Any CPU.Build.0 = Release|Any CPU
+ {27AD4B5F-ECC4-4C63-9ECB-04EC772FDB6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {27AD4B5F-ECC4-4C63-9ECB-04EC772FDB6F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {27AD4B5F-ECC4-4C63-9ECB-04EC772FDB6F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {27AD4B5F-ECC4-4C63-9ECB-04EC772FDB6F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7213767C-0003-41CA-AB18-0223CFA7CE4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7213767C-0003-41CA-AB18-0223CFA7CE4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7213767C-0003-41CA-AB18-0223CFA7CE4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7213767C-0003-41CA-AB18-0223CFA7CE4B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {556ABDCF-ED93-4327-BE98-F6815F78B9B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {556ABDCF-ED93-4327-BE98-F6815F78B9B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {556ABDCF-ED93-4327-BE98-F6815F78B9B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {556ABDCF-ED93-4327-BE98-F6815F78B9B8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A623CFE9-9D2B-4528-AD1F-2E834B061134}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A623CFE9-9D2B-4528-AD1F-2E834B061134}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A623CFE9-9D2B-4528-AD1F-2E834B061134}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A623CFE9-9D2B-4528-AD1F-2E834B061134}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -59,5 +107,13 @@ Global
{2AA31A1F-142C-43F4-8687-09ABCA4B3A26} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
{F836E8E6-B4D9-4208-8346-140C74678B91} = {56801022-D71A-4FBE-BC5B-CBA08E2284EC}
{299D8E18-102C-42DE-ADBF-79098EE706A8} = {56801022-D71A-4FBE-BC5B-CBA08E2284EC}
+ {2E33181E-6E28-4662-A801-E2E7DC206029} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
+ {575A5002-DD9F-4335-AA47-1DD87FA13645} = {E919DF0B-2607-4462-8FC0-5C98FE50F8C9}
+ {C77661B9-F793-422E-8E27-AC60ECC5F215} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
+ {27AD4B5F-ECC4-4C63-9ECB-04EC772FDB6F} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
+ {7213767C-0003-41CA-AB18-0223CFA7CE4B} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
+ {556ABDCF-ED93-4327-BE98-F6815F78B9B8} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
+ {A623CFE9-9D2B-4528-AD1F-2E834B061134} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
+ {9E574A07-F879-4811-9C41-5CBDC6BAFDB7} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
EndGlobalSection
EndGlobal
diff --git a/README.md b/README.md
index 24145f7f91..918ee91747 100644
--- a/README.md
+++ b/README.md
@@ -26,6 +26,27 @@ At present the code is pre-release but when ready it will be available on [Nuget
We already have a [MyGet package repository](https://www.myget.org/gallery/imagesharp) - for bleeding-edge / development NuGet releases.
+### Packages
+
+The **ImageSharp** library is made up of multiple packages, to make **ImageSharp** do anything useful you will want to make sure you include at least one format as a dependency otherwise you will not be able to save/load any images.
+
+Packages include;
+- **ImageSharp**
+ Contains the Image classes, Colors, Primitives, Bootstrapper, IImageFormat interface, and other core functionality.
+- **ImageSharp.Formats.Jpeg**
+ The jpeg decoder/encoder (Auto registered)
+- **ImageSharp.Formats.Png**
+ The png decoder/encoder (Auto registered)
+- **ImageSharp.Formats.Gif**
+ The gif decoder/encoder (Auto registered)
+- **ImageSharp.Formats.Bmp**
+ The bmp decoder/encoder (Auto registered)
+- **ImageSharp.Processing**
+ Contains methods like Resize, Crop, Skew, Rotate - Anything that alters the dimensions of the image.
+ Contains methods like Gaussian Blur, Pixelate, Edge Detection - Anything that maintains the original image dimensions.
+- **ImageSharp.Drawing**
+ Brushes and various drawing algorithms.
+
### Manual build
If you prefer, you can compile ImageSharp yourself (please do and help!), you'll need:
diff --git a/appveyor.yml b/appveyor.yml
index ea1a585b0d..2792ab0fc6 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -17,31 +17,8 @@ install:
# the parent CMD process).
- "SET PATH=C:\\Program Files\\dotnet\\bin;%PATH%"
-- ps: .\build\appveyor-semver.ps1
-- ps: Update-AppveyorBuild -Version "v$Env:appveyor_version"
-
-assembly_info:
- patch: true
- file: '**\AssemblyInfo.*'
- assembly_version: '$(ms_file_version)'
- assembly_file_version: '$(ms_file_version)'
- assembly_informational_version: '$(mssemver)'
-
-before_build:
-- cmd: >-
- dotnet restore src\ImageSharp
-
- cd build
-
- npm install
-
- node appveyor-project-version-patch.js
-
- cd..
-
build_script:
-- cmd: >-
- dotnet pack src\ImageSharp --configuration Release --output "artifacts\bin\ImageSharp"
+- cmd: build.cmd
test_script:
- tests\CodeCoverage\CodeCoverage.cmd
diff --git a/build.cmd b/build.cmd
new file mode 100644
index 0000000000..e33a230bcd
--- /dev/null
+++ b/build.cmd
@@ -0,0 +1,2 @@
+@echo Off
+call build\build.cmd
\ No newline at end of file
diff --git a/build/Program.cs b/build/Program.cs
new file mode 100644
index 0000000000..a79743393c
--- /dev/null
+++ b/build/Program.cs
@@ -0,0 +1,445 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+namespace ConsoleApplication
+{
+ using System;
+ using System.Collections.Generic;
+ using System.IO;
+ using System.Linq;
+ using System.Text;
+
+ using LibGit2Sharp;
+ using Microsoft.DotNet.ProjectModel;
+ using Newtonsoft.Json;
+ using NuGet.Versioning;
+
+ ///
+ /// This updates the version numbers for all the projects in the src folder.
+ /// The version number it will geneate is dependent on if this is a build from master or a branch/PR
+ ///
+ /// If its a build on master
+ /// We take the version number specified in project.json,
+ /// count how meny commits the repo has had that will affect this project or its dependencies since the version number of manually changed
+ /// If this is the first commit that effected this project since number change then leave the version number as defined i.e. will build 1.0.0 if thats in project.json
+ /// unless it is a preview build number in which case we always add the counter
+ ///
+ /// If the build is from a PR/branch
+ /// We take the version number specified in project.json, append a tag for the branch/PR (so we can determin how each package was built)
+ /// append number of commits effecting the project.
+ ///
+ ///
+ ///
+ /// for PR#123 and project.json version 2.0.1 and we have had 30 commits affecting the project
+ /// we would end up with version number 2.0.1-PR124-00030
+ ///
+ /// for branch `fix-stuff` project.json version 2.0.1-alpha1 and we have had 832 commits affecting the project
+ /// we would end up with version number 2.0.1-alpha1-fix-stuff-00832
+ ///
+ /// for `master` project.json version 2.0.1-alpha1 and we have had 832 commits affecting the project
+ /// we would end up with version number 2.0.1-alpha1-00832
+ ///
+ /// for `master` project.json version 2.0.1 and we have had 132 commits affecting the project
+ /// we would end up with version number 2.0.1-CI-00132
+ ///
+ /// for `master` project.json version 2.0.1 and we have had 1 commits affecting the project
+ /// we would end up with version number 2.0.1
+ ///
+ /// for `master` project.json version 2.0.1-alpha1 and we have had 1 commits affecting the project
+ /// we would end up with version number 2.0.1-alpha1
+ ///
+ ///
+ /// TODO Add the option for using this to update the version numbers in a project and its dependent references.
+ ///
+ public class Program
+ {
+ private const string FallbackTag = "CI";
+
+ ///
+ /// Main entry point.
+ ///
+ /// The arguments.
+ public static void Main(string[] args)
+ {
+ var resetmode = args.Contains("reset");
+
+ // Find the project root where glbal.json lives
+ var root = ProjectRootResolver.ResolveRootDirectory(".");
+
+ // Lets find the repo
+ var repo = new LibGit2Sharp.Repository(root);
+
+ // Lets find all the project.json files in the src folder (don't care about versioning `tests`)
+ var projectFiles = Directory.EnumerateFiles(Path.Combine(root, "src"), Project.FileName, SearchOption.AllDirectories);
+
+ // Open them and convert them to source projects
+ var projects = projectFiles.Select(x => ProjectReader.GetProject(x))
+ .Select(x => new SourceProject(x, repo.Info.WorkingDirectory))
+ .ToList();
+
+ if (resetmode)
+ {
+ ResetProject(projects);
+ }
+ else
+ {
+ CaclulateProjectVersionNumber(projects, repo);
+
+ UpdateVersionNumbers(projects);
+
+ CreateBuildScript(projects);
+
+ foreach (var p in projects)
+ {
+ Console.WriteLine($"{p.Name} {p.FinalVersionNumber}");
+ }
+ }
+ }
+
+ private static void CreateBuildScript(IEnumerable projects)
+ {
+ var sb = new StringBuilder();
+ foreach (var p in projects)
+ {
+ sb.AppendLine($@"dotnet pack --configuration Release --output ""artifacts\bin\ImageSharp"" ""{p.ProjectFilePath}""");
+ }
+
+ File.WriteAllText("build-inner.cmd", sb.ToString());
+ }
+
+ private static void UpdateVersionNumbers(IEnumerable projects)
+ {
+ foreach (var p in projects)
+ {
+ // TODO force update of all dependent projects to point to the newest build.
+ // we skip the build number and standard CI prefix on first commits
+ var newVersion = p.FinalVersionNumber;
+
+ // create a backup file so we can rollback later without breaking formatting
+ File.Copy(p.FullProjectFilePath, $"{p.FullProjectFilePath}.bak", true);
+
+ dynamic projectFile = JsonConvert.DeserializeObject(File.ReadAllText(p.FullProjectFilePath));
+
+ projectFile.version = $"{newVersion}-*";
+ File.WriteAllText(p.FullProjectFilePath, JsonConvert.SerializeObject(projectFile, Formatting.Indented));
+ }
+ }
+
+ private static string CurrentBranch(Repository repo)
+ {
+ // lets build version friendly commit
+ string branch = repo.Head.FriendlyName;
+
+ // lets see if we are running in appveyor and if we are use the environment variables instead of the head
+ var appveryorBranch = Environment.GetEnvironmentVariable("APPVEYOR_REPO_BRANCH");
+ if (!string.IsNullOrWhiteSpace(appveryorBranch))
+ {
+ branch = appveryorBranch;
+ }
+
+ var prNumber = Environment.GetEnvironmentVariable("APPVEYOR_PULL_REQUEST_NUMBER");
+ if (!string.IsNullOrWhiteSpace(prNumber))
+ {
+ branch = $"PR{int.Parse(prNumber):000}";
+ }
+
+ // this will happen when checking out a comit directly and not a branch (like appveryor does when it builds)
+ if (branch == "(no branch)")
+ {
+ throw new Exception("unable to find branch");
+ }
+
+ // clean branch names (might need to be improved)
+ branch = branch.Replace("/", "-").Replace("--", "-");
+
+ return branch;
+ }
+
+ private static void CaclulateProjectVersionNumber(List projects, Repository repo)
+ {
+ var branch = CurrentBranch(repo);
+
+ // populate the dependency chains
+ projects.ForEach(x => x.PopulateDependencies(projects));
+
+ // update the final version based on the repo history and the currentr branch name
+ projects.ForEach(x => x.CalculateVersion(repo, branch));
+ }
+
+ private static void ResetProject(List projects)
+ {
+ if (File.Exists("build-inner.cmd"))
+ {
+ File.Delete("build-inner.cmd");
+ }
+
+ // revert the project.json change be reverting it but skipp all the git stuff as its not needed
+ foreach (var p in projects)
+ {
+ if (File.Exists($"{p.FullProjectFilePath}.bak"))
+ {
+ File.Copy($"{p.FullProjectFilePath}.bak", p.FullProjectFilePath, true);
+ File.Delete($"{p.FullProjectFilePath}.bak");
+ }
+ }
+ }
+
+ ///
+ /// Project level logic
+ ///
+ public class SourceProject
+ {
+ private readonly IEnumerable dependencies;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The project.
+ /// The root.
+ public SourceProject(Project project, string root)
+ {
+ this.Name = project.Name;
+ this.ProjectDirectory = project.ProjectDirectory.Substring(root.Length);
+ this.ProjectFilePath = project.ProjectFilePath.Substring(root.Length);
+ this.FullProjectFilePath = project.ProjectFilePath;
+ this.Version = project.Version;
+ this.dependencies = project.Dependencies.Select(x => x.Name);
+ this.FinalVersionNumber = this.Version.ToFullString();
+ }
+
+ ///
+ /// Gets the project directory.
+ ///
+ ///
+ /// The project directory.
+ ///
+ public string ProjectDirectory { get; }
+
+ ///
+ /// Gets the version.
+ ///
+ ///
+ /// The version.
+ ///
+ public NuGetVersion Version { get; }
+
+ ///
+ /// Gets the dependent projects.
+ ///
+ ///
+ /// The dependent projects.
+ ///
+ public List DependentProjects { get; private set; }
+
+ ///
+ /// Gets the name.
+ ///
+ ///
+ /// The name.
+ ///
+ public string Name { get; private set; }
+
+ ///
+ /// Gets the project file path.
+ ///
+ ///
+ /// The project file path.
+ ///
+ public string ProjectFilePath { get; private set; }
+
+ ///
+ /// Gets the commit count since version change.
+ ///
+ ///
+ /// The commit count since version change.
+ ///
+ public int CommitCountSinceVersionChange { get; private set; } = 0;
+
+ ///
+ /// Gets the full project file path.
+ ///
+ ///
+ /// The full project file path.
+ ///
+ public string FullProjectFilePath { get; private set; }
+
+ ///
+ /// Gets the final version number.
+ ///
+ ///
+ /// The final version number.
+ ///
+ public string FinalVersionNumber { get; private set; }
+
+ ///
+ /// Populates the dependencies.
+ ///
+ /// The projects.
+ public void PopulateDependencies(IEnumerable projects)
+ {
+ this.DependentProjects = projects.Where(x => this.dependencies.Contains(x.Name)).ToList();
+ }
+
+ ///
+ /// Calculates the version.
+ ///
+ /// The repo.
+ /// The branch.
+ internal void CalculateVersion(Repository repo, string branch)
+ {
+ foreach (var c in repo.Commits)
+ {
+ if (!this.ApplyCommit(c, repo))
+ {
+ // we have finished lets populate the final version number
+ this.FinalVersionNumber = this.CalculateVersionNumber(branch);
+
+ return;
+ }
+ }
+ }
+
+ private bool MatchPath(string path)
+ {
+ if (path.StartsWith(this.ProjectDirectory, StringComparison.OrdinalIgnoreCase))
+ {
+ return true;
+ }
+
+ if (this.DependentProjects.Any())
+ {
+ return this.DependentProjects.Any(x => x.MatchPath(path));
+ }
+
+ return false;
+ }
+
+ private bool ApplyCommitInternal(Commit commit, TreeChanges changes, Repository repo)
+ {
+ this.CommitCountSinceVersionChange++;
+
+ // return false if this is a version number root
+ var projectFileChange = changes.Where(x => x.Path?.Equals(this.ProjectFilePath, StringComparison.OrdinalIgnoreCase) == true).FirstOrDefault();
+ if (projectFileChange != null)
+ {
+ if (projectFileChange.Status == ChangeKind.Added)
+ {
+ // the version must have been set here
+ return false;
+ }
+ else
+ {
+ var blob = repo.Lookup(projectFileChange.Oid);
+ using (var s = blob.GetContentStream())
+ {
+ var project = new ProjectReader().ReadProject(s, this.Name, this.FullProjectFilePath, null);
+ if (project.Version != this.Version)
+ {
+ // version changed
+ return false;
+ }
+ }
+ }
+
+ // version must have been the same lets carry on
+ return true;
+ }
+
+ return true;
+ }
+
+ private bool ApplyCommit(Commit commit, Repository repo)
+ {
+ foreach (var parent in commit.Parents)
+ {
+ var changes = repo.Diff.Compare(parent.Tree, commit.Tree);
+
+ foreach (TreeEntryChanges change in changes)
+ {
+ if (!string.IsNullOrWhiteSpace(change.OldPath))
+ {
+ if (this.MatchPath(change.OldPath))
+ {
+ return this.ApplyCommitInternal(commit, changes, repo);
+ }
+ }
+
+ if (!string.IsNullOrWhiteSpace(change.Path))
+ {
+ if (this.MatchPath(change.Path))
+ {
+ return this.ApplyCommitInternal(commit, changes, repo);
+ }
+ }
+ }
+ }
+
+ return true;
+ }
+
+ private string CalculateVersionNumber(string branch)
+ {
+ var version = this.Version.ToFullString();
+
+ // master only
+ if (this.CommitCountSinceVersionChange == 1 && branch == "master")
+ {
+ if (this.Version.IsPrerelease)
+ {
+ // prerelease always needs the build counter just not on a branch name
+ return $"{version}-{this.CommitCountSinceVersionChange:00000}";
+ }
+
+ // this is the full release happy path, first commit after changing the version number
+ return version;
+ }
+
+ var rootSpecialVersion = string.Empty;
+
+ if (this.Version.IsPrerelease)
+ {
+ // probably a much easy way for doing this but it work sell enough for a build script
+ var parts = version.Split(new[] { '-' }, 2);
+ version = parts[0];
+ rootSpecialVersion = parts[1];
+ }
+
+ // if master and the version doesn't manually specify a prerelease tag force one on for CI builds
+ if (branch == "master")
+ {
+ if (!this.Version.IsPrerelease)
+ {
+ branch = FallbackTag;
+ }
+ else
+ {
+ branch = string.Empty;
+ }
+ }
+
+ if (rootSpecialVersion.Length > 0)
+ {
+ rootSpecialVersion = "-" + rootSpecialVersion;
+ }
+
+ if (branch.Length > 0)
+ {
+ branch = "-" + branch;
+ }
+
+ var maxLength = 20; // dotnet will fail to populate the package if the tag is > 20
+ maxLength -= rootSpecialVersion.Length; // this is a required tag
+ maxLength -= 7; // for the counter and dashes
+
+ if (branch.Length > maxLength)
+ {
+ branch = branch.Substring(0, maxLength);
+ }
+
+ return $"{version}{rootSpecialVersion}{branch}-{this.CommitCountSinceVersionChange:00000}";
+ }
+ }
+ }
+}
diff --git a/build/Properties/launchSettings.json b/build/Properties/launchSettings.json
new file mode 100644
index 0000000000..b3ff6cb020
--- /dev/null
+++ b/build/Properties/launchSettings.json
@@ -0,0 +1,7 @@
+{
+ "profiles": {
+ "build": {
+ "commandName": "Project"
+ }
+ }
+}
\ No newline at end of file
diff --git a/build/appveyor-project-version-patch.js b/build/appveyor-project-version-patch.js
deleted file mode 100644
index 705a8bfa6e..0000000000
--- a/build/appveyor-project-version-patch.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var jsonfile = require("jsonfile");
-var semver = require("semver");
-
-var file = "../src/imagesharp/project.json";
-
-var semversion = semver.valid(process.env.mssemver);
-
-jsonfile.readFile(file, function (err, project) {
- project.version = semversion;
- jsonfile.writeFile(file, project, {spaces: 2}, function(err) {
- console.error(err);
- });
-})
\ No newline at end of file
diff --git a/build/appveyor-semver.ps1 b/build/appveyor-semver.ps1
deleted file mode 100644
index e8045e42ec..0000000000
--- a/build/appveyor-semver.ps1
+++ /dev/null
@@ -1,17 +0,0 @@
-$version=[Version]$Env:APPVEYOR_BUILD_VERSION
-$version_suffix=$Env:version_suffix
-
-$basever=$version.Major.ToString() + "." + $version.Minor.ToString() + "." + $version.Build.ToString()
-
-$semver = $basever + "-" + $version_suffix + "." + $version.Revision.ToString().PadLeft(6,"0")
-$mssemver = $basever + "-" + $version_suffix + "-" + $version.Revision.ToString().PadLeft(6,"0")
-$appveyor_version = $mssemver
-
-$Env:semver = $semver
-$Env:mssemver = $mssemver
-$Env:appveyor_version = $appveyor_version
-$Env:ms_file_version = $version.ToString()
-
-"Envrionment variable 'semver' set:" + $Env:semver
-"Envrionment variable 'mssemver' set:" + $Env:mssemver
-"Envrionment variable 'appveyor_version' set:" + $Env:appveyor_version
\ No newline at end of file
diff --git a/build/build.cmd b/build/build.cmd
new file mode 100644
index 0000000000..14fc0bdaa9
--- /dev/null
+++ b/build/build.cmd
@@ -0,0 +1,18 @@
+@echo Off
+set buildRoot="%cd%"
+
+ECHO Restoring packages
+dotnet restore
+
+ECHO Updating version numbers and generating build script
+cd %~dp0
+dotnet run -- update
+cd %buildRoot%
+
+ECHO Building package
+call %~dp0build-inner.cmd
+
+ECHO Reset version numbers
+cd %~dp0
+dotnet run -- reset
+cd %buildRoot%
\ No newline at end of file
diff --git a/build/build.xproj b/build/build.xproj
new file mode 100644
index 0000000000..3b85ca8722
--- /dev/null
+++ b/build/build.xproj
@@ -0,0 +1,25 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 575a5002-dd9f-4335-aa47-1dd87fa13645
+ build
+ .\obj
+ .\bin\
+ v4.5.1
+
+
+ 2.0
+
+
+ True
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/package.json b/build/package.json
deleted file mode 100644
index 59cc96e927..0000000000
--- a/build/package.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "dependencies": {
- "jsonfile": "^2.2.3",
- "semver": "^5.0.3"
- }
-}
diff --git a/build/project.json b/build/project.json
new file mode 100644
index 0000000000..cf95cc8a0b
--- /dev/null
+++ b/build/project.json
@@ -0,0 +1,22 @@
+{
+ "version": "1.0.0-*",
+ "buildOptions": {
+ "debugType": "portable",
+ "emitEntryPoint": true,
+ "xmlDoc": true,
+ "additionalArguments": [ "/additionalfile:../src/Shared/stylecop.json", "/ruleset:../ImageSharp.ruleset" ]
+ },
+ "dependencies": {
+ "Microsoft.DotNet.ProjectModel": "1.0.0-rc3-003121",
+ "LibGit2Sharp": "0.23.0",
+ "StyleCop.Analyzers": {
+ "version": "1.1.0-beta001",
+ "type": "build"
+ }
+ },
+ "frameworks": {
+ "net46": {
+ // this is only a net46 app because of LibGit2Sharp once they have a version that works on coreclr we can shift over.
+ }
+ }
+}
diff --git a/build/reset-versions.cmd b/build/reset-versions.cmd
new file mode 100644
index 0000000000..31d1d24318
--- /dev/null
+++ b/build/reset-versions.cmd
@@ -0,0 +1,8 @@
+@echo Off
+
+set buildRoot="%cd%"
+cd %~dp0
+
+dotnet run -- reset
+
+cd %buildRoot%
\ No newline at end of file
diff --git a/src/ImageSharp/Drawing/Brushes/Brushes.cs b/src/ImageSharp.Drawing/Brushes/Brushes.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/Brushes.cs
rename to src/ImageSharp.Drawing/Brushes/Brushes.cs
diff --git a/src/ImageSharp/Drawing/Brushes/Brushes{TColor}.cs b/src/ImageSharp.Drawing/Brushes/Brushes{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/Brushes{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/Brushes{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Brushes/IBrush.cs b/src/ImageSharp.Drawing/Brushes/IBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/IBrush.cs
rename to src/ImageSharp.Drawing/Brushes/IBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/ImageBrush.cs b/src/ImageSharp.Drawing/Brushes/ImageBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/ImageBrush.cs
rename to src/ImageSharp.Drawing/Brushes/ImageBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/ImageBrush{TColor}.cs b/src/ImageSharp.Drawing/Brushes/ImageBrush{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/ImageBrush{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/ImageBrush{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Brushes/PatternBrush.cs b/src/ImageSharp.Drawing/Brushes/PatternBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/PatternBrush.cs
rename to src/ImageSharp.Drawing/Brushes/PatternBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/PatternBrush{TColor}.cs b/src/ImageSharp.Drawing/Brushes/PatternBrush{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/PatternBrush{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/PatternBrush{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Brushes/Processors/IBrushApplicator.cs b/src/ImageSharp.Drawing/Brushes/Processors/IBrushApplicator.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/Processors/IBrushApplicator.cs
rename to src/ImageSharp.Drawing/Brushes/Processors/IBrushApplicator.cs
diff --git a/src/ImageSharp/Drawing/Brushes/RecolorBrush.cs b/src/ImageSharp.Drawing/Brushes/RecolorBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/RecolorBrush.cs
rename to src/ImageSharp.Drawing/Brushes/RecolorBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/RecolorBrush{TColor}.cs b/src/ImageSharp.Drawing/Brushes/RecolorBrush{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/RecolorBrush{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/RecolorBrush{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Brushes/SolidBrush.cs b/src/ImageSharp.Drawing/Brushes/SolidBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/SolidBrush.cs
rename to src/ImageSharp.Drawing/Brushes/SolidBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/SolidBrush{TColor}.cs b/src/ImageSharp.Drawing/Brushes/SolidBrush{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/SolidBrush{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/SolidBrush{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Draw.cs b/src/ImageSharp.Drawing/Draw.cs
similarity index 98%
rename from src/ImageSharp/Drawing/Draw.cs
rename to src/ImageSharp.Drawing/Draw.cs
index 14f3db44d4..c10665b832 100644
--- a/src/ImageSharp/Drawing/Draw.cs
+++ b/src/ImageSharp.Drawing/Draw.cs
@@ -33,7 +33,7 @@ namespace ImageSharp
public static Image DrawPolygon(this Image source, IPen pen, IShape shape, GraphicsOptions options)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new DrawPathProcessor(pen, shape, options));
+ return source.Apply(new DrawPathProcessor(pen, shape, options));
}
///
@@ -227,7 +227,7 @@ namespace ImageSharp
public static Image DrawPath(this Image source, IPen pen, IPath path, GraphicsOptions options)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new DrawPathProcessor(pen, path, options));
+ return source.Apply(new DrawPathProcessor(pen, path, options));
}
///
@@ -241,7 +241,7 @@ namespace ImageSharp
public static Image DrawPath(this Image source, IPen pen, IPath path)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new DrawPathProcessor(pen, path, GraphicsOptions.Default));
+ return source.Apply(new DrawPathProcessor(pen, path, GraphicsOptions.Default));
}
///
diff --git a/src/ImageSharp/Drawing/DrawImage.cs b/src/ImageSharp.Drawing/DrawImage.cs
similarity index 94%
rename from src/ImageSharp/Drawing/DrawImage.cs
rename to src/ImageSharp.Drawing/DrawImage.cs
index db9d01153d..4b3fd491da 100644
--- a/src/ImageSharp/Drawing/DrawImage.cs
+++ b/src/ImageSharp.Drawing/DrawImage.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Drawing.Processors;
///
/// Extension methods for the type.
@@ -51,7 +51,7 @@ namespace ImageSharp
location = Point.Empty;
}
- return source.Process(source.Bounds, new DrawImageProcessor(image, size, location, percent));
+ return source.Apply(source.Bounds, new DrawImageProcessor(image, size, location, percent));
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Drawing/DrawRectangle.cs b/src/ImageSharp.Drawing/DrawRectangle.cs
similarity index 97%
rename from src/ImageSharp/Drawing/DrawRectangle.cs
rename to src/ImageSharp.Drawing/DrawRectangle.cs
index 8b1cd03e8c..38ed578b65 100644
--- a/src/ImageSharp/Drawing/DrawRectangle.cs
+++ b/src/ImageSharp.Drawing/DrawRectangle.cs
@@ -33,7 +33,7 @@ namespace ImageSharp
public static Image DrawPolygon(this Image source, IPen pen, RectangleF shape, GraphicsOptions options)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new DrawPathProcessor(pen, (IPath)new RectangularPolygon(shape), options));
+ return source.Apply(new DrawPathProcessor(pen, (IPath)new RectangularPolygon(shape), options));
}
///
diff --git a/src/ImageSharp/Drawing/Fill.cs b/src/ImageSharp.Drawing/Fill.cs
similarity index 96%
rename from src/ImageSharp/Drawing/Fill.cs
rename to src/ImageSharp.Drawing/Fill.cs
index abf4310aab..c0f43bdd18 100644
--- a/src/ImageSharp/Drawing/Fill.cs
+++ b/src/ImageSharp.Drawing/Fill.cs
@@ -28,7 +28,7 @@ namespace ImageSharp
public static Image Fill(this Image source, IBrush brush)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new FillProcessor(brush));
+ return source.Apply(new FillProcessor(brush));
}
///
@@ -56,7 +56,7 @@ namespace ImageSharp
public static Image Fill(this Image source, IBrush brush, IShape shape, GraphicsOptions options)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new FillShapeProcessor(brush, shape, options));
+ return source.Apply(new FillShapeProcessor(brush, shape, options));
}
///
@@ -70,7 +70,7 @@ namespace ImageSharp
public static Image Fill(this Image source, IBrush brush, IShape shape)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new FillShapeProcessor(brush, shape, GraphicsOptions.Default));
+ return source.Apply(new FillShapeProcessor(brush, shape, GraphicsOptions.Default));
}
///
diff --git a/src/ImageSharp/Drawing/FillRectangle.cs b/src/ImageSharp.Drawing/FillRectangle.cs
similarity index 93%
rename from src/ImageSharp/Drawing/FillRectangle.cs
rename to src/ImageSharp.Drawing/FillRectangle.cs
index fc29cb4eb2..d29b58e1b8 100644
--- a/src/ImageSharp/Drawing/FillRectangle.cs
+++ b/src/ImageSharp.Drawing/FillRectangle.cs
@@ -31,7 +31,7 @@ namespace ImageSharp
public static Image Fill(this Image source, IBrush brush, RectangleF shape, GraphicsOptions options)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new FillShapeProcessor(brush, new RectangularPolygon(shape), options));
+ return source.Apply(new FillShapeProcessor(brush, new RectangularPolygon(shape), options));
}
///
@@ -45,7 +45,7 @@ namespace ImageSharp
public static Image Fill(this Image source, IBrush brush, RectangleF shape)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(new FillShapeProcessor(brush, new RectangularPolygon(shape), GraphicsOptions.Default));
+ return source.Apply(new FillShapeProcessor(brush, new RectangularPolygon(shape), GraphicsOptions.Default));
}
///
diff --git a/src/ImageSharp/Drawing/GraphicsOptions.cs b/src/ImageSharp.Drawing/GraphicsOptions.cs
similarity index 100%
rename from src/ImageSharp/Drawing/GraphicsOptions.cs
rename to src/ImageSharp.Drawing/GraphicsOptions.cs
diff --git a/src/ImageSharp.Drawing/ImageSharp.Drawing.xproj b/src/ImageSharp.Drawing/ImageSharp.Drawing.xproj
new file mode 100644
index 0000000000..488f86bc7a
--- /dev/null
+++ b/src/ImageSharp.Drawing/ImageSharp.Drawing.xproj
@@ -0,0 +1,25 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 2e33181e-6e28-4662-a801-e2e7dc206029
+ ImageSharp.Drawing
+ .\obj
+ .\bin\
+ v4.5.1
+
+
+ 2.0
+
+
+ True
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ImageSharp/Drawing/Paths/BezierLineSegment.cs b/src/ImageSharp.Drawing/Paths/BezierLineSegment.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/BezierLineSegment.cs
rename to src/ImageSharp.Drawing/Paths/BezierLineSegment.cs
diff --git a/src/ImageSharp/Drawing/Paths/ILineSegment.cs b/src/ImageSharp.Drawing/Paths/ILineSegment.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/ILineSegment.cs
rename to src/ImageSharp.Drawing/Paths/ILineSegment.cs
diff --git a/src/ImageSharp/Drawing/Paths/IPath.cs b/src/ImageSharp.Drawing/Paths/IPath.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/IPath.cs
rename to src/ImageSharp.Drawing/Paths/IPath.cs
diff --git a/src/ImageSharp/Drawing/Paths/InternalPath.cs b/src/ImageSharp.Drawing/Paths/InternalPath.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/InternalPath.cs
rename to src/ImageSharp.Drawing/Paths/InternalPath.cs
diff --git a/src/ImageSharp/Drawing/Paths/LinearLineSegment.cs b/src/ImageSharp.Drawing/Paths/LinearLineSegment.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/LinearLineSegment.cs
rename to src/ImageSharp.Drawing/Paths/LinearLineSegment.cs
diff --git a/src/ImageSharp/Drawing/Paths/Path.cs b/src/ImageSharp.Drawing/Paths/Path.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/Path.cs
rename to src/ImageSharp.Drawing/Paths/Path.cs
diff --git a/src/ImageSharp/Drawing/Paths/PointInfo.cs b/src/ImageSharp.Drawing/Paths/PointInfo.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/PointInfo.cs
rename to src/ImageSharp.Drawing/Paths/PointInfo.cs
diff --git a/src/ImageSharp/Drawing/Pens/IPen.cs b/src/ImageSharp.Drawing/Pens/IPen.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/IPen.cs
rename to src/ImageSharp.Drawing/Pens/IPen.cs
diff --git a/src/ImageSharp/Drawing/Pens/Pen.cs b/src/ImageSharp.Drawing/Pens/Pen.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Pen.cs
rename to src/ImageSharp.Drawing/Pens/Pen.cs
diff --git a/src/ImageSharp/Drawing/Pens/Pens.cs b/src/ImageSharp.Drawing/Pens/Pens.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Pens.cs
rename to src/ImageSharp.Drawing/Pens/Pens.cs
diff --git a/src/ImageSharp/Drawing/Pens/Pens{TColor}.cs b/src/ImageSharp.Drawing/Pens/Pens{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Pens{TColor}.cs
rename to src/ImageSharp.Drawing/Pens/Pens{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Pens/Pen{TColor}.cs b/src/ImageSharp.Drawing/Pens/Pen{TColor}.cs
similarity index 99%
rename from src/ImageSharp/Drawing/Pens/Pen{TColor}.cs
rename to src/ImageSharp.Drawing/Pens/Pen{TColor}.cs
index e9009f3cb9..0af039ac77 100644
--- a/src/ImageSharp/Drawing/Pens/Pen{TColor}.cs
+++ b/src/ImageSharp.Drawing/Pens/Pen{TColor}.cs
@@ -10,8 +10,7 @@ namespace ImageSharp.Drawing.Pens
using ImageSharp.Drawing.Brushes;
using ImageSharp.Drawing.Paths;
- using ImageSharp.Drawing.Pens.Processors;
- using ImageSharp.Drawing.Processors;
+ using Processors;
///
/// Provides a pen that can apply a pattern to a line with a set brush and thickness
diff --git a/src/ImageSharp/Drawing/Pens/Processors/ColoredPointInfo.cs b/src/ImageSharp.Drawing/Pens/Processors/ColoredPointInfo.cs
similarity index 94%
rename from src/ImageSharp/Drawing/Pens/Processors/ColoredPointInfo.cs
rename to src/ImageSharp.Drawing/Pens/Processors/ColoredPointInfo.cs
index cb5272425f..494f0f4e4e 100644
--- a/src/ImageSharp/Drawing/Pens/Processors/ColoredPointInfo.cs
+++ b/src/ImageSharp.Drawing/Pens/Processors/ColoredPointInfo.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Drawing.Pens.Processors
+namespace ImageSharp.Drawing.Processors
{
using System;
diff --git a/src/ImageSharp/Drawing/Pens/Processors/IPenApplicator.cs b/src/ImageSharp.Drawing/Pens/Processors/IPenApplicator.cs
similarity index 96%
rename from src/ImageSharp/Drawing/Pens/Processors/IPenApplicator.cs
rename to src/ImageSharp.Drawing/Pens/Processors/IPenApplicator.cs
index c8f381a724..7159dfeec3 100644
--- a/src/ImageSharp/Drawing/Pens/Processors/IPenApplicator.cs
+++ b/src/ImageSharp.Drawing/Pens/Processors/IPenApplicator.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Drawing.Pens.Processors
+namespace ImageSharp.Drawing.Processors
{
using System;
using Paths;
diff --git a/src/ImageSharp/Drawing/Processors/DrawImageProcessor.cs b/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
similarity index 96%
rename from src/ImageSharp/Drawing/Processors/DrawImageProcessor.cs
rename to src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
index 535635a45a..81b40e6559 100644
--- a/src/ImageSharp/Drawing/Processors/DrawImageProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
@@ -3,12 +3,14 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Drawing.Processors
{
using System;
using System.Numerics;
using System.Threading.Tasks;
+ using ImageSharp.Processing;
+
///
/// Combines two images together by blending the pixels.
///
@@ -57,6 +59,7 @@ namespace ImageSharp.Processors
{
if (this.Image.Bounds.Size != this.Size)
{
+ // should Resize be moved to core?
this.Image = this.Image.Resize(this.Size.Width, this.Size.Height);
}
diff --git a/src/ImageSharp/Drawing/Processors/DrawPathProcessor.cs b/src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs
similarity index 98%
rename from src/ImageSharp/Drawing/Processors/DrawPathProcessor.cs
rename to src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs
index a472b6fe6b..7fcdb95a6f 100644
--- a/src/ImageSharp/Drawing/Processors/DrawPathProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs
@@ -9,10 +9,9 @@ namespace ImageSharp.Drawing.Processors
using System.Linq;
using System.Numerics;
using System.Threading.Tasks;
- using ImageSharp.Processors;
+ using ImageSharp.Processing;
using Paths;
using Pens;
- using Pens.Processors;
using Shapes;
using Rectangle = ImageSharp.Rectangle;
@@ -20,7 +19,7 @@ namespace ImageSharp.Drawing.Processors
/// Draws a path using the processor pipeline
///
/// The type of the color.
- ///
+ ///
public class DrawPathProcessor : ImageProcessor
where TColor : struct, IPackedPixel, IEquatable
{
diff --git a/src/ImageSharp/Drawing/Processors/FillProcessor.cs b/src/ImageSharp.Drawing/Processors/FillProcessor.cs
similarity index 99%
rename from src/ImageSharp/Drawing/Processors/FillProcessor.cs
rename to src/ImageSharp.Drawing/Processors/FillProcessor.cs
index 9a44fc2abc..309d3670f5 100644
--- a/src/ImageSharp/Drawing/Processors/FillProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/FillProcessor.cs
@@ -10,7 +10,7 @@ namespace ImageSharp.Drawing.Processors
using System.Threading.Tasks;
using Drawing;
- using ImageSharp.Processors;
+ using ImageSharp.Processing;
///
/// Using the bursh as a source of pixels colors blends the brush color with source.
diff --git a/src/ImageSharp/Drawing/Processors/FillShapeProcessor.cs b/src/ImageSharp.Drawing/Processors/FillShapeProcessor.cs
similarity index 98%
rename from src/ImageSharp/Drawing/Processors/FillShapeProcessor.cs
rename to src/ImageSharp.Drawing/Processors/FillShapeProcessor.cs
index 078cffe347..d0655341b7 100644
--- a/src/ImageSharp/Drawing/Processors/FillShapeProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/FillShapeProcessor.cs
@@ -9,7 +9,7 @@ namespace ImageSharp.Drawing.Processors
using System.Numerics;
using System.Threading.Tasks;
using Drawing;
- using ImageSharp.Processors;
+ using ImageSharp.Processing;
using Shapes;
using Rectangle = ImageSharp.Rectangle;
@@ -17,7 +17,7 @@ namespace ImageSharp.Drawing.Processors
/// Usinf a brsuh and a shape fills shape with contents of brush the
///
/// The type of the color.
- ///
+ ///
public class FillShapeProcessor : ImageProcessor
where TColor : struct, IPackedPixel, IEquatable
{
diff --git a/src/ImageSharp.Drawing/Properties/AssemblyInfo.cs b/src/ImageSharp.Drawing/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..fba25a9dba
--- /dev/null
+++ b/src/ImageSharp.Drawing/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+// Common values read from `AssemblyInfo.Common.cs`
diff --git a/src/ImageSharp/Drawing/Shapes/BezierPolygon.cs b/src/ImageSharp.Drawing/Shapes/BezierPolygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/BezierPolygon.cs
rename to src/ImageSharp.Drawing/Shapes/BezierPolygon.cs
diff --git a/src/ImageSharp/Drawing/Shapes/ComplexPolygon.cs b/src/ImageSharp.Drawing/Shapes/ComplexPolygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/ComplexPolygon.cs
rename to src/ImageSharp.Drawing/Shapes/ComplexPolygon.cs
diff --git a/src/ImageSharp/Drawing/Shapes/IShape.cs b/src/ImageSharp.Drawing/Shapes/IShape.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/IShape.cs
rename to src/ImageSharp.Drawing/Shapes/IShape.cs
diff --git a/src/ImageSharp/Drawing/Shapes/LinearPolygon.cs b/src/ImageSharp.Drawing/Shapes/LinearPolygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/LinearPolygon.cs
rename to src/ImageSharp.Drawing/Shapes/LinearPolygon.cs
diff --git a/src/ImageSharp/Drawing/Shapes/Polygon.cs b/src/ImageSharp.Drawing/Shapes/Polygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/Polygon.cs
rename to src/ImageSharp.Drawing/Shapes/Polygon.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Clipper.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Clipper.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Clipper.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Clipper.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/ClipperException.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/ClipperException.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/ClipperException.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/ClipperException.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Direction.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Direction.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Direction.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Direction.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/EdgeSide.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/EdgeSide.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/EdgeSide.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/EdgeSide.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/IntersectNode.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/IntersectNode.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/IntersectNode.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/IntersectNode.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/IntersectNodeSort.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/IntersectNodeSort.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/IntersectNodeSort.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/IntersectNodeSort.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Join.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Join.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Join.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Join.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/LocalMinima.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/LocalMinima.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/LocalMinima.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/LocalMinima.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Maxima.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Maxima.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Maxima.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Maxima.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/OutPt.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/OutPt.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/OutPt.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/OutPt.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/OutRec.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/OutRec.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/OutRec.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/OutRec.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyNode.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyNode.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyNode.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyNode.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyTree.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyTree.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyTree.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyTree.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyType.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyType.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyType.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyType.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/README.md b/src/ImageSharp.Drawing/Shapes/PolygonClipper/README.md
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/README.md
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/README.md
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Scanbeam.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Scanbeam.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Scanbeam.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Scanbeam.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/TEdge.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/TEdge.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/TEdge.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/TEdge.cs
diff --git a/src/ImageSharp/Drawing/Shapes/RectangularPolygon.cs b/src/ImageSharp.Drawing/Shapes/RectangularPolygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/RectangularPolygon.cs
rename to src/ImageSharp.Drawing/Shapes/RectangularPolygon.cs
diff --git a/src/ImageSharp.Drawing/project.json b/src/ImageSharp.Drawing/project.json
new file mode 100644
index 0000000000..ece92f438e
--- /dev/null
+++ b/src/ImageSharp.Drawing/project.json
@@ -0,0 +1,83 @@
+{
+ "version": "1.0.0-alpha1-*",
+ "title": "ImageSharp.Drawing",
+ "description": "A cross-platform library for the processing of image files; written in C#",
+ "authors": [
+ "James Jackson-South and contributors"
+ ],
+ "packOptions": {
+ "owners": [
+ "James Jackson-South and contributors"
+ ],
+ "projectUrl": "https://github.com/JimBobSquarePants/ImageSharp",
+ "licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0",
+ "iconUrl": "https://raw.githubusercontent.com/JimBobSquarePants/ImageSharp/master/build/icons/imagesharp-logo-128.png",
+ "requireLicenseAcceptance": false,
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/JimBobSquarePants/ImageSharp"
+ },
+ "tags": [
+ "Image Resize Crop Gif Jpg Jpeg Bitmap Png Core"
+ ]
+ },
+ "buildOptions": {
+ "allowUnsafe": true,
+ "xmlDoc": true,
+ "additionalArguments": [ "/additionalfile:../Shared/stylecop.json", "/ruleset:../../ImageSharp.ruleset" ],
+ "compile": [
+ "../Shared/*.cs"
+ ]
+ },
+ "configurations": {
+ "Release": {
+ "buildOptions": {
+ "warningsAsErrors": true,
+ "optimize": true
+ }
+ }
+ },
+ "dependencies": {
+ "ImageSharp": {
+ "target": "project",
+ "version": "1.0.0-*"
+ },
+ "ImageSharp.Processing": {
+ "target": "project",
+ "version": "1.0.0-*"
+ },
+ "StyleCop.Analyzers": {
+ "version": "1.0.0",
+ "type": "build"
+ },
+ "System.Buffers": "4.0.0",
+ "System.Numerics.Vectors": "4.1.1",
+ "System.Runtime.CompilerServices.Unsafe": "4.0.0"
+ },
+ "frameworks": {
+ "netstandard1.1": {
+ "dependencies": {
+ "System.Collections": "4.0.11",
+ "System.Diagnostics.Debug": "4.0.11",
+ "System.Diagnostics.Tools": "4.0.1",
+ "System.IO": "4.1.0",
+ "System.IO.Compression": "4.1.0",
+ "System.Linq": "4.1.0",
+ "System.ObjectModel": "4.0.12",
+ "System.Resources.ResourceManager": "4.0.1",
+ "System.Runtime.Extensions": "4.1.0",
+ "System.Runtime.InteropServices": "4.1.0",
+ "System.Runtime.Numerics": "4.0.1",
+ "System.Text.Encoding.Extensions": "4.0.11",
+ "System.Threading": "4.0.11",
+ "System.Threading.Tasks": "4.0.11",
+ "System.Threading.Tasks.Parallel": "4.0.1"
+ }
+ },
+ "net45": {
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Bmp/BmpBitsPerPixel.cs b/src/ImageSharp.Formats.Bmp/BmpBitsPerPixel.cs
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/BmpBitsPerPixel.cs
rename to src/ImageSharp.Formats.Bmp/BmpBitsPerPixel.cs
diff --git a/src/ImageSharp/Formats/Bmp/BmpCompression.cs b/src/ImageSharp.Formats.Bmp/BmpCompression.cs
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/BmpCompression.cs
rename to src/ImageSharp.Formats.Bmp/BmpCompression.cs
diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoder.cs b/src/ImageSharp.Formats.Bmp/BmpDecoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/BmpDecoder.cs
rename to src/ImageSharp.Formats.Bmp/BmpDecoder.cs
diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs b/src/ImageSharp.Formats.Bmp/BmpDecoderCore.cs
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs
rename to src/ImageSharp.Formats.Bmp/BmpDecoderCore.cs
diff --git a/src/ImageSharp/Formats/Bmp/BmpEncoder.cs b/src/ImageSharp.Formats.Bmp/BmpEncoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/BmpEncoder.cs
rename to src/ImageSharp.Formats.Bmp/BmpEncoder.cs
diff --git a/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs b/src/ImageSharp.Formats.Bmp/BmpEncoderCore.cs
similarity index 99%
rename from src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs
rename to src/ImageSharp.Formats.Bmp/BmpEncoderCore.cs
index 20c899a18d..94f2b3a38b 100644
--- a/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs
+++ b/src/ImageSharp.Formats.Bmp/BmpEncoderCore.cs
@@ -46,7 +46,7 @@ namespace ImageSharp.Formats
this.padding = bytesPerLine - (image.Width * (int)bitsPerPixel);
// Do not use IDisposable pattern here as we want to preserve the stream.
- EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Little, stream);
+ EndianBinaryWriter writer = new EndianBinaryWriter(Endianness.LittleEndian, stream);
BmpInfoHeader infoHeader = new BmpInfoHeader
{
diff --git a/src/ImageSharp/Formats/Bmp/BmpFileHeader.cs b/src/ImageSharp.Formats.Bmp/BmpFileHeader.cs
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/BmpFileHeader.cs
rename to src/ImageSharp.Formats.Bmp/BmpFileHeader.cs
diff --git a/src/ImageSharp/Formats/Bmp/BmpFormat.cs b/src/ImageSharp.Formats.Bmp/BmpFormat.cs
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/BmpFormat.cs
rename to src/ImageSharp.Formats.Bmp/BmpFormat.cs
diff --git a/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs b/src/ImageSharp.Formats.Bmp/BmpInfoHeader.cs
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs
rename to src/ImageSharp.Formats.Bmp/BmpInfoHeader.cs
diff --git a/src/ImageSharp.Formats.Bmp/ImageExtensions.cs b/src/ImageSharp.Formats.Bmp/ImageExtensions.cs
new file mode 100644
index 0000000000..8bbae8487b
--- /dev/null
+++ b/src/ImageSharp.Formats.Bmp/ImageExtensions.cs
@@ -0,0 +1,32 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+namespace ImageSharp
+{
+ using System;
+ using System.IO;
+
+ using Formats;
+
+ ///
+ /// Extension methods for the type.
+ ///
+ public static partial class ImageExtensions
+ {
+ ///
+ /// Saves the image to the given stream with the bmp format.
+ ///
+ /// The pixel format.
+ /// The image this method extends.
+ /// The stream to save the image to.
+ /// Thrown if the stream is null.
+ ///
+ /// The .
+ ///
+ public static Image SaveAsBmp(this Image source, Stream stream)
+ where TColor : struct, IPackedPixel, IEquatable
+ => source.Save(stream, new BmpEncoder());
+ }
+}
diff --git a/src/ImageSharp.Formats.Bmp/ImageSharp.Formats.Bmp.xproj b/src/ImageSharp.Formats.Bmp/ImageSharp.Formats.Bmp.xproj
new file mode 100644
index 0000000000..94916399bd
--- /dev/null
+++ b/src/ImageSharp.Formats.Bmp/ImageSharp.Formats.Bmp.xproj
@@ -0,0 +1,25 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ c77661b9-f793-422e-8e27-ac60ecc5f215
+ ImageSharp.Formats.Bmp
+ .\obj
+ .\bin\
+ v4.5.1
+
+
+ 2.0
+
+
+ True
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ImageSharp.Formats.Bmp/Properties/AssemblyInfo.cs b/src/ImageSharp.Formats.Bmp/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..d6e98c6d6c
--- /dev/null
+++ b/src/ImageSharp.Formats.Bmp/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+// Common values read from `AssemblyInfo.Common.cs`
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Bmp/README.md b/src/ImageSharp.Formats.Bmp/README.md
similarity index 100%
rename from src/ImageSharp/Formats/Bmp/README.md
rename to src/ImageSharp.Formats.Bmp/README.md
diff --git a/src/ImageSharp.Formats.Bmp/project.json b/src/ImageSharp.Formats.Bmp/project.json
new file mode 100644
index 0000000000..4ed92c7e5b
--- /dev/null
+++ b/src/ImageSharp.Formats.Bmp/project.json
@@ -0,0 +1,81 @@
+{
+ "version": "1.0.0-alpha1-*",
+ "title": "ImageSharp.Formats.Bmp",
+ "description": "A cross-platform library for the processing of image files; written in C#",
+ "authors": [
+ "James Jackson-South and contributors"
+ ],
+ "packOptions": {
+ "owners": [
+ "James Jackson-South and contributors"
+ ],
+ "projectUrl": "https://github.com/JimBobSquarePants/ImageSharp",
+ "licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0",
+ "iconUrl": "https://raw.githubusercontent.com/JimBobSquarePants/ImageSharp/master/build/icons/imagesharp-logo-128.png",
+ "requireLicenseAcceptance": false,
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/JimBobSquarePants/ImageSharp"
+ },
+ "tags": [
+ "Image Resize Crop Gif Jpg Jpeg Bitmap Png Core"
+ ]
+ },
+ "buildOptions": {
+ "allowUnsafe": true,
+ "xmlDoc": true,
+ "additionalArguments": [ "/additionalfile:../Shared/stylecop.json", "/ruleset:../../ImageSharp.ruleset" ],
+ "compile": [
+ "../Shared/*.cs"
+ ]
+ },
+ "configurations": {
+ "Release": {
+ "buildOptions": {
+ "warningsAsErrors": true,
+ "optimize": true
+ }
+ }
+ },
+ "dependencies": {
+ "ImageSharp": {
+ "target": "project",
+ "version": "1.0.0-*"
+ },
+ "StyleCop.Analyzers": {
+ "version": "1.1.0-beta001",
+ "type": "build"
+ },
+ "System.Buffers": "4.0.0",
+ "System.Numerics.Vectors": "4.1.1",
+ "System.Runtime.CompilerServices.Unsafe": "4.0.0"
+ },
+ "frameworks": {
+ "netstandard1.1": {
+ "dependencies": {
+ "System.Collections": "4.0.11",
+ "System.Diagnostics.Debug": "4.0.11",
+ "System.Diagnostics.Tools": "4.0.1",
+ "System.IO": "4.1.0",
+ "System.IO.Compression": "4.1.0",
+ "System.Linq": "4.1.0",
+ "System.ObjectModel": "4.0.12",
+ "System.Resources.ResourceManager": "4.0.1",
+ "System.Runtime.Extensions": "4.1.0",
+ "System.Runtime.InteropServices": "4.1.0",
+ "System.Runtime.Numerics": "4.0.1",
+ "System.Text.Encoding.Extensions": "4.0.11",
+ "System.Threading": "4.0.11",
+ "System.Threading.Tasks": "4.0.11",
+ "System.Threading.Tasks.Parallel": "4.0.1"
+ }
+ },
+ "net45": {
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Threading.Tasks.Parallel": "4.0.0"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Gif/DisposalMethod.cs b/src/ImageSharp.Formats.Gif/DisposalMethod.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/DisposalMethod.cs
rename to src/ImageSharp.Formats.Gif/DisposalMethod.cs
diff --git a/src/ImageSharp/Formats/Gif/GifConstants.cs b/src/ImageSharp.Formats.Gif/GifConstants.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/GifConstants.cs
rename to src/ImageSharp.Formats.Gif/GifConstants.cs
diff --git a/src/ImageSharp/Formats/Gif/GifDecoder.cs b/src/ImageSharp.Formats.Gif/GifDecoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/GifDecoder.cs
rename to src/ImageSharp.Formats.Gif/GifDecoder.cs
diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp.Formats.Gif/GifDecoderCore.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/GifDecoderCore.cs
rename to src/ImageSharp.Formats.Gif/GifDecoderCore.cs
diff --git a/src/ImageSharp/Formats/Gif/GifEncoder.cs b/src/ImageSharp.Formats.Gif/GifEncoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/GifEncoder.cs
rename to src/ImageSharp.Formats.Gif/GifEncoder.cs
diff --git a/src/ImageSharp/Formats/Gif/GifEncoderCore.cs b/src/ImageSharp.Formats.Gif/GifEncoderCore.cs
similarity index 99%
rename from src/ImageSharp/Formats/Gif/GifEncoderCore.cs
rename to src/ImageSharp.Formats.Gif/GifEncoderCore.cs
index 8a851fd682..e5b8ba08ae 100644
--- a/src/ImageSharp/Formats/Gif/GifEncoderCore.cs
+++ b/src/ImageSharp.Formats.Gif/GifEncoderCore.cs
@@ -62,7 +62,7 @@ namespace ImageSharp.Formats
}
// Do not use IDisposable pattern here as we want to preserve the stream.
- EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Little, stream);
+ EndianBinaryWriter writer = new EndianBinaryWriter(Endianness.LittleEndian, stream);
// Ensure that quality can be set but has a fallback.
int quality = this.Quality > 0 ? this.Quality : image.Quality;
diff --git a/src/ImageSharp/Formats/Gif/GifFormat.cs b/src/ImageSharp.Formats.Gif/GifFormat.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/GifFormat.cs
rename to src/ImageSharp.Formats.Gif/GifFormat.cs
diff --git a/src/ImageSharp.Formats.Gif/ImageExtensions.cs b/src/ImageSharp.Formats.Gif/ImageExtensions.cs
new file mode 100644
index 0000000000..09c836a680
--- /dev/null
+++ b/src/ImageSharp.Formats.Gif/ImageExtensions.cs
@@ -0,0 +1,33 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+namespace ImageSharp
+{
+ using System;
+ using System.IO;
+
+ using Formats;
+
+ ///
+ /// Extension methods for the type.
+ ///
+ public static partial class ImageExtensions
+ {
+ ///
+ /// Saves the image to the given stream with the gif format.
+ ///
+ /// The pixel format.
+ /// The image this method extends.
+ /// The stream to save the image to.
+ /// The quality to save the image to representing the number of colors. Between 1 and 256.
+ /// Thrown if the stream is null.
+ ///
+ /// The .
+ ///
+ public static Image SaveAsGif(this Image source, Stream stream, int quality = 256)
+ where TColor : struct, IPackedPixel, IEquatable
+ => source.Save(stream, new GifEncoder { Quality = quality });
+ }
+}
diff --git a/src/ImageSharp.Formats.Gif/ImageSharp.Formats.Gif.xproj b/src/ImageSharp.Formats.Gif/ImageSharp.Formats.Gif.xproj
new file mode 100644
index 0000000000..d11c20c482
--- /dev/null
+++ b/src/ImageSharp.Formats.Gif/ImageSharp.Formats.Gif.xproj
@@ -0,0 +1,25 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 27ad4b5f-ecc4-4c63-9ecb-04ec772fdb6f
+ ImageSharp.Formats.Gif
+ .\obj
+ .\bin\
+ v4.5.1
+
+
+ 2.0
+
+
+ True
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Gif/LzwDecoder.cs b/src/ImageSharp.Formats.Gif/LzwDecoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/LzwDecoder.cs
rename to src/ImageSharp.Formats.Gif/LzwDecoder.cs
diff --git a/src/ImageSharp/Formats/Gif/LzwEncoder.cs b/src/ImageSharp.Formats.Gif/LzwEncoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/LzwEncoder.cs
rename to src/ImageSharp.Formats.Gif/LzwEncoder.cs
diff --git a/src/ImageSharp/Formats/Gif/PackedField.cs b/src/ImageSharp.Formats.Gif/PackedField.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/PackedField.cs
rename to src/ImageSharp.Formats.Gif/PackedField.cs
diff --git a/src/ImageSharp.Formats.Gif/Properties/AssemblyInfo.cs b/src/ImageSharp.Formats.Gif/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..d6e98c6d6c
--- /dev/null
+++ b/src/ImageSharp.Formats.Gif/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+// Common values read from `AssemblyInfo.Common.cs`
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Gif/README.md b/src/ImageSharp.Formats.Gif/README.md
similarity index 100%
rename from src/ImageSharp/Formats/Gif/README.md
rename to src/ImageSharp.Formats.Gif/README.md
diff --git a/src/ImageSharp/Formats/Gif/Sections/GifGraphicsControlExtension.cs b/src/ImageSharp.Formats.Gif/Sections/GifGraphicsControlExtension.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/Sections/GifGraphicsControlExtension.cs
rename to src/ImageSharp.Formats.Gif/Sections/GifGraphicsControlExtension.cs
diff --git a/src/ImageSharp/Formats/Gif/Sections/GifImageDescriptor.cs b/src/ImageSharp.Formats.Gif/Sections/GifImageDescriptor.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/Sections/GifImageDescriptor.cs
rename to src/ImageSharp.Formats.Gif/Sections/GifImageDescriptor.cs
diff --git a/src/ImageSharp/Formats/Gif/Sections/GifLogicalScreenDescriptor.cs b/src/ImageSharp.Formats.Gif/Sections/GifLogicalScreenDescriptor.cs
similarity index 100%
rename from src/ImageSharp/Formats/Gif/Sections/GifLogicalScreenDescriptor.cs
rename to src/ImageSharp.Formats.Gif/Sections/GifLogicalScreenDescriptor.cs
diff --git a/src/ImageSharp.Formats.Gif/project.json b/src/ImageSharp.Formats.Gif/project.json
new file mode 100644
index 0000000000..c0710a3e40
--- /dev/null
+++ b/src/ImageSharp.Formats.Gif/project.json
@@ -0,0 +1,81 @@
+{
+ "version": "1.0.0-alpha1-*",
+ "title": "ImageSharp.Formats.Gif",
+ "description": "A cross-platform library for the processing of image files; written in C#",
+ "authors": [
+ "James Jackson-South and contributors"
+ ],
+ "packOptions": {
+ "owners": [
+ "James Jackson-South and contributors"
+ ],
+ "projectUrl": "https://github.com/JimBobSquarePants/ImageSharp",
+ "licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0",
+ "iconUrl": "https://raw.githubusercontent.com/JimBobSquarePants/ImageSharp/master/build/icons/imagesharp-logo-128.png",
+ "requireLicenseAcceptance": false,
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/JimBobSquarePants/ImageSharp"
+ },
+ "tags": [
+ "Image Resize Crop Gif Jpg Jpeg Bitmap Png Core"
+ ]
+ },
+ "buildOptions": {
+ "allowUnsafe": true,
+ "xmlDoc": true,
+ "additionalArguments": [ "/additionalfile:../Shared/stylecop.json", "/ruleset:../../ImageSharp.ruleset" ],
+ "compile": [
+ "../Shared/*.cs"
+ ]
+ },
+ "configurations": {
+ "Release": {
+ "buildOptions": {
+ "warningsAsErrors": true,
+ "optimize": true
+ }
+ }
+ },
+ "dependencies": {
+ "ImageSharp": {
+ "target": "project",
+ "version": "1.0.0-*"
+ },
+ "StyleCop.Analyzers": {
+ "version": "1.1.0-beta001",
+ "type": "build"
+ },
+ "System.Buffers": "4.0.0",
+ "System.Numerics.Vectors": "4.1.1",
+ "System.Runtime.CompilerServices.Unsafe": "4.0.0"
+ },
+ "frameworks": {
+ "netstandard1.1": {
+ "dependencies": {
+ "System.Collections": "4.0.11",
+ "System.Diagnostics.Debug": "4.0.11",
+ "System.Diagnostics.Tools": "4.0.1",
+ "System.IO": "4.1.0",
+ "System.IO.Compression": "4.1.0",
+ "System.Linq": "4.1.0",
+ "System.ObjectModel": "4.0.12",
+ "System.Resources.ResourceManager": "4.0.1",
+ "System.Runtime.Extensions": "4.1.0",
+ "System.Runtime.InteropServices": "4.1.0",
+ "System.Runtime.Numerics": "4.0.1",
+ "System.Text.Encoding.Extensions": "4.0.11",
+ "System.Threading": "4.0.11",
+ "System.Threading.Tasks": "4.0.11",
+ "System.Threading.Tasks.Parallel": "4.0.1"
+ }
+ },
+ "net45": {
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Threading.Tasks.Parallel": "4.0.0"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Jpg/Components/Block8x8F.Generated.cs b/src/ImageSharp.Formats.Jpeg/Components/Block8x8F.Generated.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Block8x8F.Generated.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Block8x8F.Generated.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Block8x8F.Generated.tt b/src/ImageSharp.Formats.Jpeg/Components/Block8x8F.Generated.tt
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Block8x8F.Generated.tt
rename to src/ImageSharp.Formats.Jpeg/Components/Block8x8F.Generated.tt
diff --git a/src/ImageSharp/Formats/Jpg/Components/Block8x8F.cs b/src/ImageSharp.Formats.Jpeg/Components/Block8x8F.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Block8x8F.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Block8x8F.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/BlockQuad.cs b/src/ImageSharp.Formats.Jpeg/Components/BlockQuad.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/BlockQuad.cs
rename to src/ImageSharp.Formats.Jpeg/Components/BlockQuad.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/DCT.cs b/src/ImageSharp.Formats.Jpeg/Components/DCT.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/DCT.cs
rename to src/ImageSharp.Formats.Jpeg/Components/DCT.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/Bits.cs b/src/ImageSharp.Formats.Jpeg/Components/Decoder/Bits.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/Bits.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/Bits.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/Bytes.cs b/src/ImageSharp.Formats.Jpeg/Components/Decoder/Bytes.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/Bytes.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/Bytes.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/Component.cs b/src/ImageSharp.Formats.Jpeg/Components/Decoder/Component.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/Component.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/Component.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/HuffmanTree.cs b/src/ImageSharp.Formats.Jpeg/Components/Decoder/HuffmanTree.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/HuffmanTree.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/HuffmanTree.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/JpegPixelArea.cs b/src/ImageSharp.Formats.Jpeg/Components/Decoder/JpegPixelArea.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/JpegPixelArea.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/JpegPixelArea.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/JpegScanDecoder.cs b/src/ImageSharp.Formats.Jpeg/Components/Decoder/JpegScanDecoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/JpegScanDecoder.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/JpegScanDecoder.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/JpegScanDecoder.md b/src/ImageSharp.Formats.Jpeg/Components/Decoder/JpegScanDecoder.md
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/JpegScanDecoder.md
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/JpegScanDecoder.md
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/Scan.cs b/src/ImageSharp.Formats.Jpeg/Components/Decoder/Scan.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/Scan.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/Scan.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Decoder/YCbCrImage.cs b/src/ImageSharp.Formats.Jpeg/Components/Decoder/YCbCrImage.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Decoder/YCbCrImage.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Decoder/YCbCrImage.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Encoder/HuffIndex.cs b/src/ImageSharp.Formats.Jpeg/Components/Encoder/HuffIndex.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Encoder/HuffIndex.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Encoder/HuffIndex.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Encoder/HuffmanLut.cs b/src/ImageSharp.Formats.Jpeg/Components/Encoder/HuffmanLut.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Encoder/HuffmanLut.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Encoder/HuffmanLut.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Encoder/HuffmanSpec.cs b/src/ImageSharp.Formats.Jpeg/Components/Encoder/HuffmanSpec.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Encoder/HuffmanSpec.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Encoder/HuffmanSpec.cs
diff --git a/src/ImageSharp/Formats/Jpg/Components/Encoder/QuantIndex.cs b/src/ImageSharp.Formats.Jpeg/Components/Encoder/QuantIndex.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Components/Encoder/QuantIndex.cs
rename to src/ImageSharp.Formats.Jpeg/Components/Encoder/QuantIndex.cs
diff --git a/src/ImageSharp.Formats.Jpeg/ImageExtensions.cs b/src/ImageSharp.Formats.Jpeg/ImageExtensions.cs
new file mode 100644
index 0000000000..c0cda4d46a
--- /dev/null
+++ b/src/ImageSharp.Formats.Jpeg/ImageExtensions.cs
@@ -0,0 +1,33 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+namespace ImageSharp
+{
+ using System;
+ using System.IO;
+
+ using Formats;
+
+ ///
+ /// Extension methods for the type.
+ ///
+ public static partial class ImageExtensions
+ {
+ ///
+ /// Saves the image to the given stream with the jpeg format.
+ ///
+ /// The pixel format.
+ /// The image this method extends.
+ /// The stream to save the image to.
+ /// The quality to save the image to. Between 1 and 100.
+ /// Thrown if the stream is null.
+ ///
+ /// The .
+ ///
+ public static Image SaveAsJpeg(this Image source, Stream stream, int quality = 75)
+ where TColor : struct, IPackedPixel, IEquatable
+ => source.Save(stream, new JpegEncoder { Quality = quality });
+ }
+}
diff --git a/src/ImageSharp.Formats.Jpeg/ImageSharp.Formats.Jpeg.xproj b/src/ImageSharp.Formats.Jpeg/ImageSharp.Formats.Jpeg.xproj
new file mode 100644
index 0000000000..a22dc5ea34
--- /dev/null
+++ b/src/ImageSharp.Formats.Jpeg/ImageSharp.Formats.Jpeg.xproj
@@ -0,0 +1,25 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 7213767c-0003-41ca-ab18-0223cfa7ce4b
+ ImageSharp.Formats
+ .\obj
+ .\bin\
+ v4.5.1
+
+
+ 2.0
+
+
+ True
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Jpg/JpegConstants.cs b/src/ImageSharp.Formats.Jpeg/JpegConstants.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/JpegConstants.cs
rename to src/ImageSharp.Formats.Jpeg/JpegConstants.cs
diff --git a/src/ImageSharp/Formats/Jpg/JpegDecoder.cs b/src/ImageSharp.Formats.Jpeg/JpegDecoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/JpegDecoder.cs
rename to src/ImageSharp.Formats.Jpeg/JpegDecoder.cs
diff --git a/src/ImageSharp/Formats/Jpg/JpegDecoderCore.cs b/src/ImageSharp.Formats.Jpeg/JpegDecoderCore.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/JpegDecoderCore.cs
rename to src/ImageSharp.Formats.Jpeg/JpegDecoderCore.cs
diff --git a/src/ImageSharp/Formats/Jpg/JpegEncoder.cs b/src/ImageSharp.Formats.Jpeg/JpegEncoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/JpegEncoder.cs
rename to src/ImageSharp.Formats.Jpeg/JpegEncoder.cs
diff --git a/src/ImageSharp/Formats/Jpg/JpegEncoderCore.cs b/src/ImageSharp.Formats.Jpeg/JpegEncoderCore.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/JpegEncoderCore.cs
rename to src/ImageSharp.Formats.Jpeg/JpegEncoderCore.cs
diff --git a/src/ImageSharp/Formats/Jpg/JpegFormat.cs b/src/ImageSharp.Formats.Jpeg/JpegFormat.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/JpegFormat.cs
rename to src/ImageSharp.Formats.Jpeg/JpegFormat.cs
diff --git a/src/ImageSharp/Formats/Jpg/JpegSubsample.cs b/src/ImageSharp.Formats.Jpeg/JpegSubsample.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/JpegSubsample.cs
rename to src/ImageSharp.Formats.Jpeg/JpegSubsample.cs
diff --git a/src/ImageSharp.Formats.Jpeg/Properties/AssemblyInfo.cs b/src/ImageSharp.Formats.Jpeg/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..d6e98c6d6c
--- /dev/null
+++ b/src/ImageSharp.Formats.Jpeg/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+// Common values read from `AssemblyInfo.Common.cs`
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Jpg/README.md b/src/ImageSharp.Formats.Jpeg/README.md
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/README.md
rename to src/ImageSharp.Formats.Jpeg/README.md
diff --git a/src/ImageSharp/Formats/Jpg/UnzigData.cs b/src/ImageSharp.Formats.Jpeg/UnzigData.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/UnzigData.cs
rename to src/ImageSharp.Formats.Jpeg/UnzigData.cs
diff --git a/src/ImageSharp/Formats/Jpg/Utils/JpegUtils.cs b/src/ImageSharp.Formats.Jpeg/Utils/JpegUtils.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Utils/JpegUtils.cs
rename to src/ImageSharp.Formats.Jpeg/Utils/JpegUtils.cs
diff --git a/src/ImageSharp/Formats/Jpg/Utils/MutableSpan.cs b/src/ImageSharp.Formats.Jpeg/Utils/MutableSpan.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Utils/MutableSpan.cs
rename to src/ImageSharp.Formats.Jpeg/Utils/MutableSpan.cs
diff --git a/src/ImageSharp/Formats/Jpg/Utils/MutableSpanExtensions.cs b/src/ImageSharp.Formats.Jpeg/Utils/MutableSpanExtensions.cs
similarity index 100%
rename from src/ImageSharp/Formats/Jpg/Utils/MutableSpanExtensions.cs
rename to src/ImageSharp.Formats.Jpeg/Utils/MutableSpanExtensions.cs
diff --git a/src/ImageSharp.Formats.Jpeg/project.json b/src/ImageSharp.Formats.Jpeg/project.json
new file mode 100644
index 0000000000..6366f507e8
--- /dev/null
+++ b/src/ImageSharp.Formats.Jpeg/project.json
@@ -0,0 +1,81 @@
+{
+ "version": "1.0.0-alpha1-*",
+ "title": "ImageSharp.Formats.Jpeg",
+ "description": "A cross-platform library for the processing of image files; written in C#",
+ "authors": [
+ "James Jackson-South and contributors"
+ ],
+ "packOptions": {
+ "owners": [
+ "James Jackson-South and contributors"
+ ],
+ "projectUrl": "https://github.com/JimBobSquarePants/ImageSharp",
+ "licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0",
+ "iconUrl": "https://raw.githubusercontent.com/JimBobSquarePants/ImageSharp/master/build/icons/imagesharp-logo-128.png",
+ "requireLicenseAcceptance": false,
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/JimBobSquarePants/ImageSharp"
+ },
+ "tags": [
+ "Image Resize Crop Gif Jpg Jpeg Bitmap Png Core"
+ ]
+ },
+ "buildOptions": {
+ "allowUnsafe": true,
+ "xmlDoc": true,
+ "additionalArguments": [ "/additionalfile:../Shared/stylecop.json", "/ruleset:../../ImageSharp.ruleset" ],
+ "compile": [
+ "../Shared/*.cs"
+ ]
+ },
+ "configurations": {
+ "Release": {
+ "buildOptions": {
+ "warningsAsErrors": true,
+ "optimize": true
+ }
+ }
+ },
+ "dependencies": {
+ "ImageSharp": {
+ "target": "project",
+ "version": "1.0.0-*"
+ },
+ "StyleCop.Analyzers": {
+ "version": "1.1.0-beta001",
+ "type": "build"
+ },
+ "System.Buffers": "4.0.0",
+ "System.Numerics.Vectors": "4.1.1",
+ "System.Runtime.CompilerServices.Unsafe": "4.0.0"
+ },
+ "frameworks": {
+ "netstandard1.1": {
+ "dependencies": {
+ "System.Collections": "4.0.11",
+ "System.Diagnostics.Debug": "4.0.11",
+ "System.Diagnostics.Tools": "4.0.1",
+ "System.IO": "4.1.0",
+ "System.IO.Compression": "4.1.0",
+ "System.Linq": "4.1.0",
+ "System.ObjectModel": "4.0.12",
+ "System.Resources.ResourceManager": "4.0.1",
+ "System.Runtime.Extensions": "4.1.0",
+ "System.Runtime.InteropServices": "4.1.0",
+ "System.Runtime.Numerics": "4.0.1",
+ "System.Text.Encoding.Extensions": "4.0.11",
+ "System.Threading": "4.0.11",
+ "System.Threading.Tasks": "4.0.11",
+ "System.Threading.Tasks.Parallel": "4.0.1"
+ }
+ },
+ "net45": {
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Threading.Tasks.Parallel": "4.0.0"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs b/src/ImageSharp.Formats.Png/Filters/AverageFilter.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Filters/AverageFilter.cs
rename to src/ImageSharp.Formats.Png/Filters/AverageFilter.cs
diff --git a/src/ImageSharp/Formats/Png/Filters/FilterType.cs b/src/ImageSharp.Formats.Png/Filters/FilterType.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Filters/FilterType.cs
rename to src/ImageSharp.Formats.Png/Filters/FilterType.cs
diff --git a/src/ImageSharp/Formats/Png/Filters/NoneFilter.cs b/src/ImageSharp.Formats.Png/Filters/NoneFilter.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Filters/NoneFilter.cs
rename to src/ImageSharp.Formats.Png/Filters/NoneFilter.cs
diff --git a/src/ImageSharp/Formats/Png/Filters/PaethFilter.cs b/src/ImageSharp.Formats.Png/Filters/PaethFilter.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Filters/PaethFilter.cs
rename to src/ImageSharp.Formats.Png/Filters/PaethFilter.cs
diff --git a/src/ImageSharp/Formats/Png/Filters/SubFilter.cs b/src/ImageSharp.Formats.Png/Filters/SubFilter.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Filters/SubFilter.cs
rename to src/ImageSharp.Formats.Png/Filters/SubFilter.cs
diff --git a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs b/src/ImageSharp.Formats.Png/Filters/UpFilter.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Filters/UpFilter.cs
rename to src/ImageSharp.Formats.Png/Filters/UpFilter.cs
diff --git a/src/ImageSharp.Formats.Png/ImageExtensions.cs b/src/ImageSharp.Formats.Png/ImageExtensions.cs
new file mode 100644
index 0000000000..d46c46217e
--- /dev/null
+++ b/src/ImageSharp.Formats.Png/ImageExtensions.cs
@@ -0,0 +1,35 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+namespace ImageSharp
+{
+ using System;
+ using System.IO;
+
+ using Formats;
+
+ ///
+ /// Extension methods for the type.
+ ///
+ public static partial class ImageExtensions
+ {
+ ///
+ /// Saves the image to the given stream with the png format.
+ ///
+ /// The pixel format.
+ /// The image this method extends.
+ /// The stream to save the image to.
+ /// The quality to save the image to representing the number of colors.
+ /// Anything equal to 256 and below will cause the encoder to save the image in an indexed format.
+ ///
+ /// Thrown if the stream is null.
+ ///
+ /// The .
+ ///
+ public static Image SaveAsPng(this Image source, Stream stream, int quality = int.MaxValue)
+ where TColor : struct, IPackedPixel, IEquatable
+ => source.Save(stream, new PngEncoder { Quality = quality });
+ }
+}
diff --git a/src/ImageSharp.Formats.Png/ImageSharp.Formats.Png.xproj b/src/ImageSharp.Formats.Png/ImageSharp.Formats.Png.xproj
new file mode 100644
index 0000000000..f12901d6bc
--- /dev/null
+++ b/src/ImageSharp.Formats.Png/ImageSharp.Formats.Png.xproj
@@ -0,0 +1,25 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 556abdcf-ed93-4327-be98-f6815f78b9b8
+ ImageSharp.Formats.Png
+ .\obj
+ .\bin\
+ v4.5.1
+
+
+ 2.0
+
+
+ True
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Png/PngChunk.cs b/src/ImageSharp.Formats.Png/PngChunk.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngChunk.cs
rename to src/ImageSharp.Formats.Png/PngChunk.cs
diff --git a/src/ImageSharp/Formats/Png/PngChunkTypes.cs b/src/ImageSharp.Formats.Png/PngChunkTypes.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngChunkTypes.cs
rename to src/ImageSharp.Formats.Png/PngChunkTypes.cs
diff --git a/src/ImageSharp/Formats/Png/PngColorType.cs b/src/ImageSharp.Formats.Png/PngColorType.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngColorType.cs
rename to src/ImageSharp.Formats.Png/PngColorType.cs
diff --git a/src/ImageSharp/Formats/Png/PngDecoder.cs b/src/ImageSharp.Formats.Png/PngDecoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngDecoder.cs
rename to src/ImageSharp.Formats.Png/PngDecoder.cs
diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp.Formats.Png/PngDecoderCore.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngDecoderCore.cs
rename to src/ImageSharp.Formats.Png/PngDecoderCore.cs
diff --git a/src/ImageSharp/Formats/Png/PngEncoder.cs b/src/ImageSharp.Formats.Png/PngEncoder.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngEncoder.cs
rename to src/ImageSharp.Formats.Png/PngEncoder.cs
diff --git a/src/ImageSharp/Formats/Png/PngEncoderCore.cs b/src/ImageSharp.Formats.Png/PngEncoderCore.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngEncoderCore.cs
rename to src/ImageSharp.Formats.Png/PngEncoderCore.cs
diff --git a/src/ImageSharp/Formats/Png/PngFormat.cs b/src/ImageSharp.Formats.Png/PngFormat.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngFormat.cs
rename to src/ImageSharp.Formats.Png/PngFormat.cs
diff --git a/src/ImageSharp/Formats/Png/PngHeader.cs b/src/ImageSharp.Formats.Png/PngHeader.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngHeader.cs
rename to src/ImageSharp.Formats.Png/PngHeader.cs
diff --git a/src/ImageSharp/Formats/Png/PngInterlaceMode.cs b/src/ImageSharp.Formats.Png/PngInterlaceMode.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/PngInterlaceMode.cs
rename to src/ImageSharp.Formats.Png/PngInterlaceMode.cs
diff --git a/src/ImageSharp.Formats.Png/Properties/AssemblyInfo.cs b/src/ImageSharp.Formats.Png/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..d6e98c6d6c
--- /dev/null
+++ b/src/ImageSharp.Formats.Png/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+// Common values read from `AssemblyInfo.Common.cs`
\ No newline at end of file
diff --git a/src/ImageSharp/Formats/Png/README.md b/src/ImageSharp.Formats.Png/README.md
similarity index 100%
rename from src/ImageSharp/Formats/Png/README.md
rename to src/ImageSharp.Formats.Png/README.md
diff --git a/src/ImageSharp/Formats/Png/Zlib/Adler32.cs b/src/ImageSharp.Formats.Png/Zlib/Adler32.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Zlib/Adler32.cs
rename to src/ImageSharp.Formats.Png/Zlib/Adler32.cs
diff --git a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs b/src/ImageSharp.Formats.Png/Zlib/Crc32.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Zlib/Crc32.cs
rename to src/ImageSharp.Formats.Png/Zlib/Crc32.cs
diff --git a/src/ImageSharp/Formats/Png/Zlib/IChecksum.cs b/src/ImageSharp.Formats.Png/Zlib/IChecksum.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Zlib/IChecksum.cs
rename to src/ImageSharp.Formats.Png/Zlib/IChecksum.cs
diff --git a/src/ImageSharp/Formats/Png/Zlib/README.md b/src/ImageSharp.Formats.Png/Zlib/README.md
similarity index 100%
rename from src/ImageSharp/Formats/Png/Zlib/README.md
rename to src/ImageSharp.Formats.Png/Zlib/README.md
diff --git a/src/ImageSharp/Formats/Png/Zlib/ZlibDeflateStream.cs b/src/ImageSharp.Formats.Png/Zlib/ZlibDeflateStream.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Zlib/ZlibDeflateStream.cs
rename to src/ImageSharp.Formats.Png/Zlib/ZlibDeflateStream.cs
diff --git a/src/ImageSharp/Formats/Png/Zlib/ZlibInflateStream.cs b/src/ImageSharp.Formats.Png/Zlib/ZlibInflateStream.cs
similarity index 100%
rename from src/ImageSharp/Formats/Png/Zlib/ZlibInflateStream.cs
rename to src/ImageSharp.Formats.Png/Zlib/ZlibInflateStream.cs
diff --git a/src/ImageSharp.Formats.Png/project.json b/src/ImageSharp.Formats.Png/project.json
new file mode 100644
index 0000000000..bce68ddca5
--- /dev/null
+++ b/src/ImageSharp.Formats.Png/project.json
@@ -0,0 +1,81 @@
+{
+ "version": "1.0.0-alpha1-*",
+ "title": "ImageSharp.Formats",
+ "description": "A cross-platform library for the processing of image files; written in C#",
+ "authors": [
+ "James Jackson-South and contributors"
+ ],
+ "packOptions": {
+ "owners": [
+ "James Jackson-South and contributors"
+ ],
+ "projectUrl": "https://github.com/JimBobSquarePants/ImageSharp",
+ "licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0",
+ "iconUrl": "https://raw.githubusercontent.com/JimBobSquarePants/ImageSharp/master/build/icons/imagesharp-logo-128.png",
+ "requireLicenseAcceptance": false,
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/JimBobSquarePants/ImageSharp"
+ },
+ "tags": [
+ "Image Resize Crop Gif Jpg Jpeg Bitmap Png Core"
+ ]
+ },
+ "buildOptions": {
+ "allowUnsafe": true,
+ "xmlDoc": true,
+ "additionalArguments": [ "/additionalfile:../Shared/stylecop.json", "/ruleset:../../ImageSharp.ruleset" ],
+ "compile": [
+ "../Shared/*.cs"
+ ]
+ },
+ "configurations": {
+ "Release": {
+ "buildOptions": {
+ "warningsAsErrors": true,
+ "optimize": true
+ }
+ }
+ },
+ "dependencies": {
+ "ImageSharp": {
+ "target": "project",
+ "version": "1.0.0-*"
+ },
+ "StyleCop.Analyzers": {
+ "version": "1.1.0-beta001",
+ "type": "build"
+ },
+ "System.Buffers": "4.0.0",
+ "System.Numerics.Vectors": "4.1.1",
+ "System.Runtime.CompilerServices.Unsafe": "4.0.0"
+ },
+ "frameworks": {
+ "netstandard1.1": {
+ "dependencies": {
+ "System.Collections": "4.0.11",
+ "System.Diagnostics.Debug": "4.0.11",
+ "System.Diagnostics.Tools": "4.0.1",
+ "System.IO": "4.1.0",
+ "System.IO.Compression": "4.1.0",
+ "System.Linq": "4.1.0",
+ "System.ObjectModel": "4.0.12",
+ "System.Resources.ResourceManager": "4.0.1",
+ "System.Runtime.Extensions": "4.1.0",
+ "System.Runtime.InteropServices": "4.1.0",
+ "System.Runtime.Numerics": "4.0.1",
+ "System.Text.Encoding.Extensions": "4.0.11",
+ "System.Threading": "4.0.11",
+ "System.Threading.Tasks": "4.0.11",
+ "System.Threading.Tasks.Parallel": "4.0.1"
+ }
+ },
+ "net45": {
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Threading.Tasks.Parallel": "4.0.0"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Binarization/BinaryThreshold.cs b/src/ImageSharp.Processing/Binarization/BinaryThreshold.cs
similarity index 93%
rename from src/ImageSharp/Filters/Binarization/BinaryThreshold.cs
rename to src/ImageSharp.Processing/Binarization/BinaryThreshold.cs
index ebf28357a2..1b5b6c9bbc 100644
--- a/src/ImageSharp/Filters/Binarization/BinaryThreshold.cs
+++ b/src/ImageSharp.Processing/Binarization/BinaryThreshold.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +40,7 @@ namespace ImageSharp
public static Image BinaryThreshold(this Image source, float threshold, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new BinaryThresholdProcessor(threshold));
+ return source.Apply(rectangle, new BinaryThresholdProcessor(threshold));
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/BlackWhite.cs b/src/ImageSharp.Processing/ColorMatrix/BlackWhite.cs
similarity index 92%
rename from src/ImageSharp/Filters/ColorMatrix/BlackWhite.cs
rename to src/ImageSharp.Processing/ColorMatrix/BlackWhite.cs
index a0be4d9126..e172a21be0 100644
--- a/src/ImageSharp/Filters/ColorMatrix/BlackWhite.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/BlackWhite.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -38,7 +39,7 @@ namespace ImageSharp
public static Image BlackWhite(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new BlackWhiteProcessor());
+ return source.Apply(rectangle, new BlackWhiteProcessor());
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/ColorBlindness.cs b/src/ImageSharp.Processing/ColorMatrix/ColorBlindness.cs
similarity index 82%
rename from src/ImageSharp/Filters/ColorMatrix/ColorBlindness.cs
rename to src/ImageSharp.Processing/ColorMatrix/ColorBlindness.cs
index d0c61bd739..2e90b059e7 100644
--- a/src/ImageSharp/Filters/ColorMatrix/ColorBlindness.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/ColorBlindness.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -44,31 +45,31 @@ namespace ImageSharp
switch (colorBlindness)
{
- case ImageSharp.ColorBlindness.Achromatomaly:
+ case ImageSharp.Processing.ColorBlindness.Achromatomaly:
processor = new AchromatomalyProcessor();
break;
- case ImageSharp.ColorBlindness.Achromatopsia:
+ case ImageSharp.Processing.ColorBlindness.Achromatopsia:
processor = new AchromatopsiaProcessor();
break;
- case ImageSharp.ColorBlindness.Deuteranomaly:
+ case ImageSharp.Processing.ColorBlindness.Deuteranomaly:
processor = new DeuteranomalyProcessor();
break;
- case ImageSharp.ColorBlindness.Deuteranopia:
+ case ImageSharp.Processing.ColorBlindness.Deuteranopia:
processor = new DeuteranopiaProcessor();
break;
- case ImageSharp.ColorBlindness.Protanomaly:
+ case ImageSharp.Processing.ColorBlindness.Protanomaly:
processor = new ProtanomalyProcessor();
break;
- case ImageSharp.ColorBlindness.Protanopia:
+ case ImageSharp.Processing.ColorBlindness.Protanopia:
processor = new ProtanopiaProcessor();
break;
- case ImageSharp.ColorBlindness.Tritanomaly:
+ case ImageSharp.Processing.ColorBlindness.Tritanomaly:
processor = new TritanomalyProcessor();
break;
@@ -77,7 +78,7 @@ namespace ImageSharp
break;
}
- return source.Process(rectangle, processor);
+ return source.Apply(rectangle, processor);
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/Grayscale.cs b/src/ImageSharp.Processing/ColorMatrix/Grayscale.cs
similarity index 94%
rename from src/ImageSharp/Filters/ColorMatrix/Grayscale.cs
rename to src/ImageSharp.Processing/ColorMatrix/Grayscale.cs
index d98ce27b9a..f1a17c02b0 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Grayscale.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Grayscale.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -44,7 +45,7 @@ namespace ImageSharp
? (IImageProcessor)new GrayscaleBt709Processor()
: new GrayscaleBt601Processor();
- return source.Process(rectangle, processor);
+ return source.Apply(rectangle, processor);
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/Hue.cs b/src/ImageSharp.Processing/ColorMatrix/Hue.cs
similarity index 92%
rename from src/ImageSharp/Filters/ColorMatrix/Hue.cs
rename to src/ImageSharp.Processing/ColorMatrix/Hue.cs
index 52e7d19b8f..f03f65692a 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Hue.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Hue.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +41,7 @@ namespace ImageSharp
public static Image Hue(this Image source, float degrees, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new HueProcessor(degrees));
+ return source.Apply(rectangle, new HueProcessor(degrees));
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/Kodachrome.cs b/src/ImageSharp.Processing/ColorMatrix/Kodachrome.cs
similarity index 92%
rename from src/ImageSharp/Filters/ColorMatrix/Kodachrome.cs
rename to src/ImageSharp.Processing/ColorMatrix/Kodachrome.cs
index 6f249f3cda..2592d80909 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Kodachrome.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Kodachrome.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -38,7 +39,7 @@ namespace ImageSharp
public static Image Kodachrome(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new KodachromeProcessor());
+ return source.Apply(rectangle, new KodachromeProcessor());
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/Lomograph.cs b/src/ImageSharp.Processing/ColorMatrix/Lomograph.cs
similarity index 92%
rename from src/ImageSharp/Filters/ColorMatrix/Lomograph.cs
rename to src/ImageSharp.Processing/ColorMatrix/Lomograph.cs
index 06ba764103..2605bc3011 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Lomograph.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Lomograph.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -38,7 +39,7 @@ namespace ImageSharp
public static Image Lomograph(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new LomographProcessor());
+ return source.Apply(rectangle, new LomographProcessor());
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/Options/ColorBlindness.cs b/src/ImageSharp.Processing/ColorMatrix/Options/ColorBlindness.cs
similarity index 97%
rename from src/ImageSharp/Filters/ColorMatrix/Options/ColorBlindness.cs
rename to src/ImageSharp.Processing/ColorMatrix/Options/ColorBlindness.cs
index 1e0bc596b2..def253234f 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Options/ColorBlindness.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Options/ColorBlindness.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp
+namespace ImageSharp.Processing
{
///
/// Enumerates the various types of defined color blindness filters.
diff --git a/src/ImageSharp/Filters/ColorMatrix/Options/GrayscaleMode.cs b/src/ImageSharp.Processing/ColorMatrix/Options/GrayscaleMode.cs
similarity index 94%
rename from src/ImageSharp/Filters/ColorMatrix/Options/GrayscaleMode.cs
rename to src/ImageSharp.Processing/ColorMatrix/Options/GrayscaleMode.cs
index 6ecd5bb365..f1294ffaff 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Options/GrayscaleMode.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Options/GrayscaleMode.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp
+namespace ImageSharp.Processing
{
///
/// Enumerates the various types of defined Grayscale filters.
diff --git a/src/ImageSharp/Filters/ColorMatrix/Polaroid.cs b/src/ImageSharp.Processing/ColorMatrix/Polaroid.cs
similarity index 92%
rename from src/ImageSharp/Filters/ColorMatrix/Polaroid.cs
rename to src/ImageSharp.Processing/ColorMatrix/Polaroid.cs
index 5df58cea97..5c51a710bf 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Polaroid.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Polaroid.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -38,7 +39,7 @@ namespace ImageSharp
public static Image Polaroid(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new PolaroidProcessor());
+ return source.Apply(rectangle, new PolaroidProcessor());
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/Saturation.cs b/src/ImageSharp.Processing/ColorMatrix/Saturation.cs
similarity index 92%
rename from src/ImageSharp/Filters/ColorMatrix/Saturation.cs
rename to src/ImageSharp.Processing/ColorMatrix/Saturation.cs
index 101a45eab7..773329ea6c 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Saturation.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Saturation.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +41,7 @@ namespace ImageSharp
public static Image Saturation(this Image source, int amount, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new SaturationProcessor(amount));
+ return source.Apply(rectangle, new SaturationProcessor(amount));
}
}
}
diff --git a/src/ImageSharp/Filters/ColorMatrix/Sepia.cs b/src/ImageSharp.Processing/ColorMatrix/Sepia.cs
similarity index 92%
rename from src/ImageSharp/Filters/ColorMatrix/Sepia.cs
rename to src/ImageSharp.Processing/ColorMatrix/Sepia.cs
index a3641bfe30..3f29b93e59 100644
--- a/src/ImageSharp/Filters/ColorMatrix/Sepia.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Sepia.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -38,7 +39,7 @@ namespace ImageSharp
public static Image Sepia(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new SepiaProcessor());
+ return source.Apply(rectangle, new SepiaProcessor());
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Convolution/BoxBlur.cs b/src/ImageSharp.Processing/Convolution/BoxBlur.cs
similarity index 92%
rename from src/ImageSharp/Filters/Convolution/BoxBlur.cs
rename to src/ImageSharp.Processing/Convolution/BoxBlur.cs
index e07da5b302..e16c30516d 100644
--- a/src/ImageSharp/Filters/Convolution/BoxBlur.cs
+++ b/src/ImageSharp.Processing/Convolution/BoxBlur.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +41,7 @@ namespace ImageSharp
public static Image BoxBlur(this Image source, int radius, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new BoxBlurProcessor(radius));
+ return source.Apply(rectangle, new BoxBlurProcessor(radius));
}
}
}
diff --git a/src/ImageSharp/Filters/Convolution/DetectEdges.cs b/src/ImageSharp.Processing/Convolution/DetectEdges.cs
similarity index 98%
rename from src/ImageSharp/Filters/Convolution/DetectEdges.cs
rename to src/ImageSharp.Processing/Convolution/DetectEdges.cs
index fe5cf01a2b..32fc167f1d 100644
--- a/src/ImageSharp/Filters/Convolution/DetectEdges.cs
+++ b/src/ImageSharp.Processing/Convolution/DetectEdges.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -145,7 +146,7 @@ namespace ImageSharp
public static Image DetectEdges(this Image source, Rectangle rectangle, IEdgeDetectorProcessor filter)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, filter);
+ return source.Apply(rectangle, filter);
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Convolution/GaussianBlur.cs b/src/ImageSharp.Processing/Convolution/GaussianBlur.cs
similarity index 92%
rename from src/ImageSharp/Filters/Convolution/GaussianBlur.cs
rename to src/ImageSharp.Processing/Convolution/GaussianBlur.cs
index 0f03864b53..7e8b9a4032 100644
--- a/src/ImageSharp/Filters/Convolution/GaussianBlur.cs
+++ b/src/ImageSharp.Processing/Convolution/GaussianBlur.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +41,7 @@ namespace ImageSharp
public static Image GaussianBlur(this Image source, float sigma, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new GaussianBlurProcessor(sigma));
+ return source.Apply(rectangle, new GaussianBlurProcessor(sigma));
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Convolution/GaussianSharpen.cs b/src/ImageSharp.Processing/Convolution/GaussianSharpen.cs
similarity index 92%
rename from src/ImageSharp/Filters/Convolution/GaussianSharpen.cs
rename to src/ImageSharp.Processing/Convolution/GaussianSharpen.cs
index 39beddf46d..ef49104599 100644
--- a/src/ImageSharp/Filters/Convolution/GaussianSharpen.cs
+++ b/src/ImageSharp.Processing/Convolution/GaussianSharpen.cs
@@ -7,7 +7,8 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +41,7 @@ namespace ImageSharp
public static Image GaussianSharpen(this Image source, float sigma, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new GaussianSharpenProcessor(sigma));
+ return source.Apply(rectangle, new GaussianSharpenProcessor(sigma));
}
}
}
diff --git a/src/ImageSharp/Filters/Convolution/Options/EdgeDetection.cs b/src/ImageSharp.Processing/Convolution/Options/EdgeDetection.cs
similarity index 97%
rename from src/ImageSharp/Filters/Convolution/Options/EdgeDetection.cs
rename to src/ImageSharp.Processing/Convolution/Options/EdgeDetection.cs
index 67fad0de41..809992f005 100644
--- a/src/ImageSharp/Filters/Convolution/Options/EdgeDetection.cs
+++ b/src/ImageSharp.Processing/Convolution/Options/EdgeDetection.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp
+namespace ImageSharp.Processing
{
///
/// Enumerates the various types of defined edge detection filters.
diff --git a/src/ImageSharp/Filters/Effects/Alpha.cs b/src/ImageSharp.Processing/Effects/Alpha.cs
similarity index 93%
rename from src/ImageSharp/Filters/Effects/Alpha.cs
rename to src/ImageSharp.Processing/Effects/Alpha.cs
index 8c765472de..856276a89e 100644
--- a/src/ImageSharp/Filters/Effects/Alpha.cs
+++ b/src/ImageSharp.Processing/Effects/Alpha.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +40,7 @@ namespace ImageSharp
public static Image Alpha(this Image source, int percent, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new AlphaProcessor(percent));
+ return source.Apply(rectangle, new AlphaProcessor(percent));
}
}
}
diff --git a/src/ImageSharp/Filters/Effects/BackgroundColor.cs b/src/ImageSharp.Processing/Effects/BackgroundColor.cs
similarity index 88%
rename from src/ImageSharp/Filters/Effects/BackgroundColor.cs
rename to src/ImageSharp.Processing/Effects/BackgroundColor.cs
index d7971ba9ce..ac1add3513 100644
--- a/src/ImageSharp/Filters/Effects/BackgroundColor.cs
+++ b/src/ImageSharp.Processing/Effects/BackgroundColor.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -24,7 +24,7 @@ namespace ImageSharp
public static Image BackgroundColor(this Image source, TColor color)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(source.Bounds, new BackgroundColorProcessor(color));
+ return source.Apply(source.Bounds, new BackgroundColorProcessor(color));
}
}
}
diff --git a/src/ImageSharp/Filters/Effects/Brightness.cs b/src/ImageSharp.Processing/Effects/Brightness.cs
similarity index 94%
rename from src/ImageSharp/Filters/Effects/Brightness.cs
rename to src/ImageSharp.Processing/Effects/Brightness.cs
index 6f051605d8..8c9ff8946f 100644
--- a/src/ImageSharp/Filters/Effects/Brightness.cs
+++ b/src/ImageSharp.Processing/Effects/Brightness.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +40,7 @@ namespace ImageSharp
public static Image Brightness(this Image source, int amount, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new BrightnessProcessor(amount));
+ return source.Apply(rectangle, new BrightnessProcessor(amount));
}
}
}
diff --git a/src/ImageSharp/Filters/Effects/Contrast.cs b/src/ImageSharp.Processing/Effects/Contrast.cs
similarity index 94%
rename from src/ImageSharp/Filters/Effects/Contrast.cs
rename to src/ImageSharp.Processing/Effects/Contrast.cs
index 338ae1d1f8..8310286825 100644
--- a/src/ImageSharp/Filters/Effects/Contrast.cs
+++ b/src/ImageSharp.Processing/Effects/Contrast.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -40,7 +40,7 @@ namespace ImageSharp
public static Image Contrast(this Image source, int amount, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new ContrastProcessor(amount));
+ return source.Apply(rectangle, new ContrastProcessor(amount));
}
}
}
diff --git a/src/ImageSharp/Filters/Effects/Invert.cs b/src/ImageSharp.Processing/Effects/Invert.cs
similarity index 93%
rename from src/ImageSharp/Filters/Effects/Invert.cs
rename to src/ImageSharp.Processing/Effects/Invert.cs
index 95a58835c7..31e524000e 100644
--- a/src/ImageSharp/Filters/Effects/Invert.cs
+++ b/src/ImageSharp.Processing/Effects/Invert.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -38,7 +38,7 @@ namespace ImageSharp
public static Image Invert(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Process(rectangle, new InvertProcessor());
+ return source.Apply(rectangle, new InvertProcessor());
}
}
}
diff --git a/src/ImageSharp/Filters/Effects/OilPainting.cs b/src/ImageSharp.Processing/Effects/OilPainting.cs
similarity index 95%
rename from src/ImageSharp/Filters/Effects/OilPainting.cs
rename to src/ImageSharp.Processing/Effects/OilPainting.cs
index 59195c400a..463cfd675c 100644
--- a/src/ImageSharp/Filters/Effects/OilPainting.cs
+++ b/src/ImageSharp.Processing/Effects/OilPainting.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -49,7 +49,7 @@ namespace ImageSharp
throw new ArgumentOutOfRangeException(nameof(brushSize));
}
- return source.Process(rectangle, new OilPaintingProcessor(levels, brushSize));
+ return source.Apply(rectangle, new OilPaintingProcessor(levels, brushSize));
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Effects/Pixelate.cs b/src/ImageSharp.Processing/Effects/Pixelate.cs
similarity index 94%
rename from src/ImageSharp/Filters/Effects/Pixelate.cs
rename to src/ImageSharp.Processing/Effects/Pixelate.cs
index 6fada475b7..92d1fdd698 100644
--- a/src/ImageSharp/Filters/Effects/Pixelate.cs
+++ b/src/ImageSharp.Processing/Effects/Pixelate.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -45,7 +45,7 @@ namespace ImageSharp
throw new ArgumentOutOfRangeException(nameof(size));
}
- return source.Process(rectangle, new PixelateProcessor(size));
+ return source.Apply(rectangle, new PixelateProcessor(size));
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/ImageSharp.Processing.xproj b/src/ImageSharp.Processing/ImageSharp.Processing.xproj
new file mode 100644
index 0000000000..1fdba5ce9a
--- /dev/null
+++ b/src/ImageSharp.Processing/ImageSharp.Processing.xproj
@@ -0,0 +1,25 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ a623cfe9-9d2b-4528-ad1f-2e834b061134
+ ImageSharp.Processing
+ .\obj
+ .\bin\
+ v4.5.1
+
+
+ 2.0
+
+
+ True
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Overlays/Glow.cs b/src/ImageSharp.Processing/Overlays/Glow.cs
similarity index 97%
rename from src/ImageSharp/Filters/Overlays/Glow.cs
rename to src/ImageSharp.Processing/Overlays/Glow.cs
index 4f5a05852a..6511407dad 100644
--- a/src/ImageSharp/Filters/Overlays/Glow.cs
+++ b/src/ImageSharp.Processing/Overlays/Glow.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -88,7 +88,7 @@ namespace ImageSharp
processor.GlowColor = color;
}
- return source.Process(rectangle, processor);
+ return source.Apply(rectangle, processor);
}
}
}
diff --git a/src/ImageSharp/Filters/Overlays/Vignette.cs b/src/ImageSharp.Processing/Overlays/Vignette.cs
similarity index 97%
rename from src/ImageSharp/Filters/Overlays/Vignette.cs
rename to src/ImageSharp.Processing/Overlays/Vignette.cs
index 7f5ade12d3..f728a3e1c6 100644
--- a/src/ImageSharp/Filters/Overlays/Vignette.cs
+++ b/src/ImageSharp.Processing/Overlays/Vignette.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -90,7 +90,7 @@ namespace ImageSharp
processor.VignetteColor = color;
}
- return source.Process(rectangle, processor);
+ return source.Apply(rectangle, processor);
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Processors/Binarization/BinaryThresholdProcessor.cs b/src/ImageSharp.Processing/Processors/Binarization/BinaryThresholdProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Binarization/BinaryThresholdProcessor.cs
rename to src/ImageSharp.Processing/Processors/Binarization/BinaryThresholdProcessor.cs
index 8a042c3596..2eb5225f82 100644
--- a/src/ImageSharp/Filters/Processors/Binarization/BinaryThresholdProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Binarization/BinaryThresholdProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Threading.Tasks;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/BlackWhiteProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/BlackWhiteProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/BlackWhiteProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/BlackWhiteProcessor.cs
index 942be785cf..305375eca1 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/BlackWhiteProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/BlackWhiteProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
index 2b8ca88573..3e34d08382 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
index d9530ad268..53a7a3556b 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
index 84e185b40f..5d252961c5 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
index 026fd2832c..cd48df4016 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
index 92f4fc1f86..234c2e13b5 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
index 3c92813428..a88b8812e6 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/README.md b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/README.md
similarity index 100%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/README.md
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/README.md
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
index cde693c42f..1f68bddbbb 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
index eb47c61c21..85332e8106 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorMatrixFilter.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/ColorMatrixFilter.cs
index 67f9525f74..b11b82b102 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/ColorMatrixFilter.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/GrayscaleBt601Processor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/GrayscaleBt601Processor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/GrayscaleBt601Processor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/GrayscaleBt601Processor.cs
index b3e30f04e1..364919e74e 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/GrayscaleBt601Processor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/GrayscaleBt601Processor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/GrayscaleBt709Processor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/GrayscaleBt709Processor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/GrayscaleBt709Processor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/GrayscaleBt709Processor.cs
index 24801b901f..37d41ab74d 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/GrayscaleBt709Processor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/GrayscaleBt709Processor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/HueProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/HueProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/HueProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/HueProcessor.cs
index a1de8eb0c9..0de0891fea 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/HueProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/HueProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/IColorMatrixFilter.cs
similarity index 94%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/IColorMatrixFilter.cs
index 295a0d9720..4230fda12a 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/IColorMatrixFilter.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/KodachromeProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/KodachromeProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/KodachromeProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/KodachromeProcessor.cs
index 60b6a1d20b..84a05e579c 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/KodachromeProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/KodachromeProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/LomographProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/LomographProcessor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/LomographProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/LomographProcessor.cs
index d58e588be2..731e04bf74 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/LomographProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/LomographProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/PolaroidProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/PolaroidProcessor.cs
similarity index 97%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/PolaroidProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/PolaroidProcessor.cs
index 73bc18e49f..678edf011a 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/PolaroidProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/PolaroidProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/SaturationProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/SaturationProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/SaturationProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/SaturationProcessor.cs
index 71bb49c922..430228d53e 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/SaturationProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/SaturationProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/SepiaProcessor.cs b/src/ImageSharp.Processing/Processors/ColorMatrix/SepiaProcessor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/ColorMatrix/SepiaProcessor.cs
rename to src/ImageSharp.Processing/Processors/ColorMatrix/SepiaProcessor.cs
index 8353cfa0be..1170fc3a90 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/SepiaProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/ColorMatrix/SepiaProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/BoxBlurProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/BoxBlurProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Convolution/BoxBlurProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/BoxBlurProcessor.cs
index 98ab075f1d..272b3cc8b4 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/BoxBlurProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/BoxBlurProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/Convolution2DProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/Convolution2DProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Convolution/Convolution2DProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/Convolution2DProcessor.cs
index 9db67f0624..d6ea42f0c4 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/Convolution2DProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/Convolution2DProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/Convolution2PassProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/Convolution2PassProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Convolution/Convolution2PassProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/Convolution2PassProcessor.cs
index 80e3c6f92e..ad7ed83ed6 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/Convolution2PassProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/Convolution2PassProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/ConvolutionProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/ConvolutionProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Convolution/ConvolutionProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/ConvolutionProcessor.cs
index b771cc5625..17d7e2918f 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/ConvolutionProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/ConvolutionProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
similarity index 97%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
index 40cdd2052e..6ee5d0f96a 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
index a317c183d1..5a1487761f 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
index 332b10e41c..1033111fcb 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/IEdgeDetectorProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/IEdgeDetectorProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/IEdgeDetectorProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/IEdgeDetectorProcessor.cs
index f4b2442d0f..68dc7ccdbb 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/IEdgeDetectorProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/IEdgeDetectorProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
similarity index 97%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
index 84d14e7cf4..f628ea1b94 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/KirschProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/KirschProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/KirschProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/KirschProcessor.cs
index 6bc440e236..3f7e0a00ee 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/KirschProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/KirschProcessor.cs
@@ -2,7 +2,7 @@
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
index 89e29e2117..b19c5c7737 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
index 7b8e965448..efa6c28c56 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
index 112d1c5175..595ca6a4b0 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/PrewittProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
similarity index 97%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
index a3d719ba7e..5c48722ef8 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
similarity index 97%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
index f7586e11f3..c64ee8abeb 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
index cb05599bf0..4e61707c45 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
@@ -2,7 +2,7 @@
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/ScharrProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
similarity index 97%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
index 3c9c818d3a..de2a185f86 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/SobelProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/SobelProcessor.cs
similarity index 97%
rename from src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/SobelProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/SobelProcessor.cs
index ebca2018b5..328c903dc7 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/EdgeDetection/SobelProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/EdgeDetection/SobelProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Diagnostics.CodeAnalysis;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/GaussianBlurProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/GaussianBlurProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Convolution/GaussianBlurProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/GaussianBlurProcessor.cs
index 81fa3dce42..7cd3bbe9c5 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/GaussianBlurProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/GaussianBlurProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
diff --git a/src/ImageSharp/Filters/Processors/Convolution/GaussianSharpenProcessor.cs b/src/ImageSharp.Processing/Processors/Convolution/GaussianSharpenProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Convolution/GaussianSharpenProcessor.cs
rename to src/ImageSharp.Processing/Processors/Convolution/GaussianSharpenProcessor.cs
index 5030085a00..d0654dd77b 100644
--- a/src/ImageSharp/Filters/Processors/Convolution/GaussianSharpenProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Convolution/GaussianSharpenProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
diff --git a/src/ImageSharp/Filters/Processors/Effects/AlphaProcessor.cs b/src/ImageSharp.Processing/Processors/Effects/AlphaProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Effects/AlphaProcessor.cs
rename to src/ImageSharp.Processing/Processors/Effects/AlphaProcessor.cs
index 59c9352808..ecf47a036c 100644
--- a/src/ImageSharp/Filters/Processors/Effects/AlphaProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Effects/AlphaProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Effects/BackgroundColorProcessor.cs b/src/ImageSharp.Processing/Processors/Effects/BackgroundColorProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Effects/BackgroundColorProcessor.cs
rename to src/ImageSharp.Processing/Processors/Effects/BackgroundColorProcessor.cs
index 3e8ea5417a..356b2e925a 100644
--- a/src/ImageSharp/Filters/Processors/Effects/BackgroundColorProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Effects/BackgroundColorProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Effects/BrightnessProcessor.cs b/src/ImageSharp.Processing/Processors/Effects/BrightnessProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Effects/BrightnessProcessor.cs
rename to src/ImageSharp.Processing/Processors/Effects/BrightnessProcessor.cs
index 70c6bd6b03..eb88b9c41c 100644
--- a/src/ImageSharp/Filters/Processors/Effects/BrightnessProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Effects/BrightnessProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Effects/ContrastProcessor.cs b/src/ImageSharp.Processing/Processors/Effects/ContrastProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Effects/ContrastProcessor.cs
rename to src/ImageSharp.Processing/Processors/Effects/ContrastProcessor.cs
index 00c5d441a2..0cc56cc8e4 100644
--- a/src/ImageSharp/Filters/Processors/Effects/ContrastProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Effects/ContrastProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Effects/InvertProcessor.cs b/src/ImageSharp.Processing/Processors/Effects/InvertProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Effects/InvertProcessor.cs
rename to src/ImageSharp.Processing/Processors/Effects/InvertProcessor.cs
index 7ceb11194a..ec1ea7786e 100644
--- a/src/ImageSharp/Filters/Processors/Effects/InvertProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Effects/InvertProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Effects/OilPaintingProcessor.cs b/src/ImageSharp.Processing/Processors/Effects/OilPaintingProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Effects/OilPaintingProcessor.cs
rename to src/ImageSharp.Processing/Processors/Effects/OilPaintingProcessor.cs
index 7cbcafaba8..9e12a2a91b 100644
--- a/src/ImageSharp/Filters/Processors/Effects/OilPaintingProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Effects/OilPaintingProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Effects/PixelateProcessor.cs b/src/ImageSharp.Processing/Processors/Effects/PixelateProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Effects/PixelateProcessor.cs
rename to src/ImageSharp.Processing/Processors/Effects/PixelateProcessor.cs
index 110cface2e..9c9cf92fec 100644
--- a/src/ImageSharp/Filters/Processors/Effects/PixelateProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Effects/PixelateProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Collections.Generic;
diff --git a/src/ImageSharp/Filters/Processors/Overlays/GlowProcessor.cs b/src/ImageSharp.Processing/Processors/Overlays/GlowProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Overlays/GlowProcessor.cs
rename to src/ImageSharp.Processing/Processors/Overlays/GlowProcessor.cs
index 6e7d27929e..f0e32f1fa3 100644
--- a/src/ImageSharp/Filters/Processors/Overlays/GlowProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Overlays/GlowProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Overlays/VignetteProcessor.cs b/src/ImageSharp.Processing/Processors/Overlays/VignetteProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Overlays/VignetteProcessor.cs
rename to src/ImageSharp.Processing/Processors/Overlays/VignetteProcessor.cs
index ddb7b569fd..8449f18332 100644
--- a/src/ImageSharp/Filters/Processors/Overlays/VignetteProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Overlays/VignetteProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/CompandingResizeProcessor.cs b/src/ImageSharp.Processing/Processors/Transforms/CompandingResizeProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Transforms/CompandingResizeProcessor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/CompandingResizeProcessor.cs
index 80f02c18f6..a392de0513 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/CompandingResizeProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/CompandingResizeProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/CropProcessor.cs b/src/ImageSharp.Processing/Processors/Transforms/CropProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Transforms/CropProcessor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/CropProcessor.cs
index 7efd9b9241..27b5bef0c5 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/CropProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/CropProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Threading.Tasks;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/EntropyCropProcessor.cs b/src/ImageSharp.Processing/Processors/Transforms/EntropyCropProcessor.cs
similarity index 97%
rename from src/ImageSharp/Filters/Processors/Transforms/EntropyCropProcessor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/EntropyCropProcessor.cs
index 78bef63b01..e0c6e9b92a 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/EntropyCropProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/EntropyCropProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/FlipProcessor.cs b/src/ImageSharp.Processing/Processors/Transforms/FlipProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Transforms/FlipProcessor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/FlipProcessor.cs
index 4973c10d6d..ba21dced7a 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/FlipProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/FlipProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Threading.Tasks;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/Matrix3x2Processor.cs b/src/ImageSharp.Processing/Processors/Transforms/Matrix3x2Processor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Transforms/Matrix3x2Processor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/Matrix3x2Processor.cs
index b6f3d5a66e..209ad3914b 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/Matrix3x2Processor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/Matrix3x2Processor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/ResamplingWeightedProcessor.cs b/src/ImageSharp.Processing/Processors/Transforms/ResamplingWeightedProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Transforms/ResamplingWeightedProcessor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/ResamplingWeightedProcessor.cs
index f29560835c..cac8871539 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/ResamplingWeightedProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/ResamplingWeightedProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/ResizeProcessor.cs b/src/ImageSharp.Processing/Processors/Transforms/ResizeProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Transforms/ResizeProcessor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/ResizeProcessor.cs
index 48f6b50368..687e452e6e 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/ResizeProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/ResizeProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/RotateProcessor.cs b/src/ImageSharp.Processing/Processors/Transforms/RotateProcessor.cs
similarity index 99%
rename from src/ImageSharp/Filters/Processors/Transforms/RotateProcessor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/RotateProcessor.cs
index e81cd7e57e..9b9534b390 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/RotateProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/RotateProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp/Filters/Processors/Transforms/SkewProcessor.cs b/src/ImageSharp.Processing/Processors/Transforms/SkewProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/Transforms/SkewProcessor.cs
rename to src/ImageSharp.Processing/Processors/Transforms/SkewProcessor.cs
index e13d4995b8..c94f69358b 100644
--- a/src/ImageSharp/Filters/Processors/Transforms/SkewProcessor.cs
+++ b/src/ImageSharp.Processing/Processors/Transforms/SkewProcessor.cs
@@ -3,7 +3,7 @@
// Licensed under the Apache License, Version 2.0.
//
-namespace ImageSharp.Processors
+namespace ImageSharp.Processing.Processors
{
using System;
using System.Numerics;
diff --git a/src/ImageSharp.Processing/Properties/AssemblyInfo.cs b/src/ImageSharp.Processing/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..d6e98c6d6c
--- /dev/null
+++ b/src/ImageSharp.Processing/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+// Common values read from `AssemblyInfo.Common.cs`
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Transforms/AutoOrient.cs b/src/ImageSharp.Processing/Transforms/AutoOrient.cs
similarity index 98%
rename from src/ImageSharp/Filters/Transforms/AutoOrient.cs
rename to src/ImageSharp.Processing/Transforms/AutoOrient.cs
index cdd62624ad..8d86ae8142 100644
--- a/src/ImageSharp/Filters/Transforms/AutoOrient.cs
+++ b/src/ImageSharp.Processing/Transforms/AutoOrient.cs
@@ -6,6 +6,8 @@
namespace ImageSharp
{
using System;
+ using Processing;
+ using Processing.Processors;
///
/// Extension methods for the type.
diff --git a/src/ImageSharp/Filters/Transforms/Crop.cs b/src/ImageSharp.Processing/Transforms/Crop.cs
similarity index 95%
rename from src/ImageSharp/Filters/Transforms/Crop.cs
rename to src/ImageSharp.Processing/Transforms/Crop.cs
index 8b5ad7dafd..09309a8053 100644
--- a/src/ImageSharp/Filters/Transforms/Crop.cs
+++ b/src/ImageSharp.Processing/Transforms/Crop.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -41,7 +41,7 @@ namespace ImageSharp
where TColor : struct, IPackedPixel, IEquatable
{
CropProcessor processor = new CropProcessor(cropRectangle);
- return source.Process(source.Bounds, processor);
+ return source.Apply(source.Bounds, processor);
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Filters/Transforms/EntropyCrop.cs b/src/ImageSharp.Processing/Transforms/EntropyCrop.cs
similarity index 91%
rename from src/ImageSharp/Filters/Transforms/EntropyCrop.cs
rename to src/ImageSharp.Processing/Transforms/EntropyCrop.cs
index a2abcf38dd..8ba6baf19b 100644
--- a/src/ImageSharp/Filters/Transforms/EntropyCrop.cs
+++ b/src/ImageSharp.Processing/Transforms/EntropyCrop.cs
@@ -7,7 +7,7 @@ namespace ImageSharp
{
using System;
- using Processors;
+ using Processing.Processors;
///
/// Extension methods for the type.
@@ -25,7 +25,7 @@ namespace ImageSharp
where TColor : struct, IPackedPixel, IEquatable
{
EntropyCropProcessor