From 27d5152ed8bcbd6b957f41551bf456f729bc4493 Mon Sep 17 00:00:00 2001 From: Anton Firsov Date: Sat, 16 Sep 2017 20:15:23 +0200 Subject: [PATCH 1/3] Update & Cleanup README --- README.md | 82 ++++++++++++++++++++++--------------------------------- 1 file changed, 32 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 9ae2fb535..b1907cb39 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,19 @@ -# ImageSharp ImageSharp - -**ImageSharp** is a new, fully featured, fully managed, cross-platform, 2D graphics API designed to allow the processing of images without the use of `System.Drawing`. - -Built against .Net Standard 1.1 ImageSharp can be used in device, cloud, and embedded/IoT scenarios. - -> **ImageSharp** has made excellent progress and contains many great features but is still considered by us to be still in early stages (alpha). As such, we cannot support its use on production environments until the library reaches release candidate status. -> -> Pre-release downloads are available from the [MyGet package repository](https://www.myget.org/gallery/sixlabors). - [![GitHub license](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://raw.githubusercontent.com/SixLabors/ImageSharp/master/APACHE-2.0-LICENSE.txt) -[![GitHub issues](https://img.shields.io/github/issues/SixLabors/ImageSharp.svg)](https://github.com/SixLabors/ImageSharp/issues) -[![GitHub stars](https://img.shields.io/github/stars/SixLabors/ImageSharp.svg)](https://github.com/SixLabors/ImageSharp/stargazers) -[![GitHub forks](https://img.shields.io/github/forks/SixLabors/ImageSharp.svg)](https://github.com/SixLabors/ImageSharp/network) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ImageSharp/General?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Twitter](https://img.shields.io/twitter/url/https/github.com/SixLabors/ImageSharp.svg?style=social)](https://twitter.com/intent/tweet?hashtags=imagesharp,dotnet,oss&text=ImageSharp.+A+new+cross-platform+2D+graphics+API+in+C%23&url=https%3a%2f%2fgithub.com%2fSixLabors%2fImageSharp&via=sixlabors) [![OpenCollective](https://opencollective.com/imagesharp/backers/badge.svg)](#backers) [![OpenCollective](https://opencollective.com/imagesharp/sponsors/badge.svg)](#sponsors) +# ImageSharp ImageSharp +**ImageSharp** is a new, fully featured, fully managed, cross-platform, 2D graphics API designed to allow the processing of images without the use of `System.Drawing`. We have been able to develop something much more flexible, easier to code against, and much, much less prone to memory leaks. Gone are system-wide process-locks; ImageSharp images are thread-safe and fully supported in web environments. -| |Build Status|Code Coverage| -|-------------|:----------:|:-----------:| -|**Linux/Mac**|[![Build Status](https://travis-ci.org/SixLabors/ImageSharp.svg)](https://travis-ci.org/SixLabors/ImageSharp)|[![Code coverage](https://codecov.io/gh/SixLabors/ImageSharp/branch/master/graph/badge.svg)](https://codecov.io/gh/SixLabors/ImageSharp)| -|**Windows** |[![Build Status](https://ci.appveyor.com/api/projects/status/m9pn907xdah3ca39/branch/master?svg=true)](https://ci.appveyor.com/project/six-labors/imagesharp/branch/master)|[![Code coverage](https://codecov.io/gh/SixLabors/ImageSharp/branch/master/graph/badge.svg)](https://codecov.io/gh/SixLabors/ImageSharp)| +Built against .Net Standard 1.1 ImageSharp can be used in device, cloud, and embedded/IoT scenarios. +### Questions? + +Do you have questions? We are happy to help! Please [join our gitter channel](https://gitter.im/ImageSharp/General), or ask them on [stackoverflow](https://stackoverflow.com) using the `ImageSharp` tag. ### Installation @@ -34,10 +23,7 @@ Built against .Net Standard 1.1 ImageSharp can be used in device, cloud, and emb | `SixLabors.ImageSharp.Drawing` | [![NuGet](https://img.shields.io/nuget/v/SixLabors.ImageSharp.Drawing.svg)](https://www.nuget.org/packages/SixLabors.ImageSharp.Drawing/) | [![MyGet](https://img.shields.io/myget/sixlabors/v/SixLabors.ImageSharp.Drawing.svg)](https://www.myget.org/feed/sixlabors/package/nuget/SixLabors.ImageSharp.Drawing) | ### Packages - -The **ImageSharp** library is made up of multiple packages. - -Packages include: +The **ImageSharp** library is made up of multiple packages: - **SixLabors.ImageSharp** - Contains the generic `Image` class, PixelFormats, Primitives, Configuration, and other core functionality. - The `IImageFormat` interface, Jpeg, Png, Bmp, and Gif formats. @@ -49,23 +35,12 @@ Packages include: - Various vector drawing methods for drawing paths, polygons etc. - Text drawing. -### Manual build - -If you prefer, you can compile ImageSharp yourself (please do and help!), you'll need: - -- [Visual Studio 2017 (or above)](https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes) -- The [.NET Core SDK Installer](https://www.microsoft.com/net/core#windows) - Non VSCode link. - -Alternatively on Linux you can use: - -- [Visual Studio Code](https://code.visualstudio.com/) with [C# Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp) -- [.Net Core](https://www.microsoft.com/net/core#linuxubuntu) +### Build Status -To clone it locally click the "Clone in Windows" button above or run the following git commands. - -```bash -git clone https://github.com/SixLabors/ImageSharp -``` +| |Build Status|Code Coverage| +|-------------|:----------:|:-----------:| +|**Linux/Mac**|[![Build Status](https://travis-ci.org/SixLabors/ImageSharp.svg)](https://travis-ci.org/SixLabors/ImageSharp)|[![Code coverage](https://codecov.io/gh/SixLabors/ImageSharp/branch/master/graph/badge.svg)](https://codecov.io/gh/SixLabors/ImageSharp)| +|**Windows** |[![Build Status](https://ci.appveyor.com/api/projects/status/m9pn907xdah3ca39/branch/master?svg=true)](https://ci.appveyor.com/project/six-labors/imagesharp/branch/master)|[![Code coverage](https://codecov.io/gh/SixLabors/ImageSharp/branch/master/graph/badge.svg)](https://codecov.io/gh/SixLabors/ImageSharp)| ### Features @@ -73,16 +48,8 @@ There's plenty there and more coming. Check out the [current features](features. ### API -Without the constraints of `System.Drawing` We have been able to develop something much more flexible, easier to code against, and much, much less prone to memory leaks. - -Gone are system-wide process-locks; ImageSharp images are thread-safe and fully supported in web environments. - -Many `Image` methods are also fluent. - Here's an example of the code required to resize an image using the default Bicubic resampler then turn the colors into their grayscale equivalent using the BT709 standard matrix. -`Rgba32` is our default PixelFormat, equivalent to `System.Drawing Color`. - On platforms supporting netstandard 1.3+ ```csharp // Image.Load(string path) is a shortcut for our default type. Other pixel formats use Image.Load(string path)) @@ -118,14 +85,29 @@ using (Image image = new Image(400, 400)) } ``` -For optimized synchronous access within a loop it is recommended that the following methods are used. +`Rgba32` is our default PixelFormat, equivalent to `System.Drawing Color`. For advanced pixel format usage there are multiple [PixelFormat implementations](https://github.com/SixLabors/ImageSharp/tree/master/src/ImageSharp/PixelFormats) available allowing developers to implement their own color models in the same manner as Microsoft XNA Game Studio and MonoGame. -1. `image.GetRowSpan(y)` -2. `image.GetRowSpan(x, y)` +All in all this should allow image processing to be much more accessible to developers which has always been my goal from the start. -For advanced pixel format usage there are multiple [PixelFormat implementations](https://github.com/SixLabors/ImageSharp/tree/master/src/ImageSharp/PixelFormats) available allowing developers to implement their own color models in the same manner as Microsoft XNA Game Studio and MonoGame. +Check out [this blog post](https://sixlabors.com/blog/announcing-imagesharp-beta-1/) or our [samples repository](https://github.com/SixLabors/ImageSharp/tree/master/samples) for more examples! -All in all this should allow image processing to be much more accessible to developers which has always been my goal from the start. +### Manual build + +If you prefer, you can compile ImageSharp yourself (please do and help!), you'll need: + +- [Visual Studio 2017 (or above)](https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes) +- The [.NET Core SDK Installer](https://www.microsoft.com/net/core#windows) - Non VSCode link. + +Alternatively on Linux you can use: + +- [Visual Studio Code](https://code.visualstudio.com/) with [C# Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp) +- [.Net Core](https://www.microsoft.com/net/core#linuxubuntu) + +To clone it locally click the "Clone in Windows" button above or run the following git commands. + +```bash +git clone https://github.com/SixLabors/ImageSharp +``` ### How can you help? From a5e4568b8f32e0590b15132a254739d0130214b6 Mon Sep 17 00:00:00 2001 From: Anton Firsov Date: Sat, 16 Sep 2017 20:55:03 +0200 Subject: [PATCH 2/3] Linking our brand-new Samples repository --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b1907cb39..9206e5b96 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ using (Image image = new Image(400, 400)) All in all this should allow image processing to be much more accessible to developers which has always been my goal from the start. -Check out [this blog post](https://sixlabors.com/blog/announcing-imagesharp-beta-1/) or our [samples repository](https://github.com/SixLabors/ImageSharp/tree/master/samples) for more examples! +Check out [this blog post](https://sixlabors.com/blog/announcing-imagesharp-beta-1/) or our [Samples repository](https://github.com/SixLabors/Samples/tree/master/ImageSharp) for more examples! ### Manual build From 5c62132ba9a1884e15fa760ef424ee38b71bf15d Mon Sep 17 00:00:00 2001 From: Anton Firsov Date: Sat, 16 Sep 2017 20:59:29 +0200 Subject: [PATCH 3/3] using bold text to highlight references to additional examples --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9206e5b96..03ca0653f 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ using (Image image = new Image(400, 400)) All in all this should allow image processing to be much more accessible to developers which has always been my goal from the start. -Check out [this blog post](https://sixlabors.com/blog/announcing-imagesharp-beta-1/) or our [Samples repository](https://github.com/SixLabors/Samples/tree/master/ImageSharp) for more examples! +**Check out [this blog post](https://sixlabors.com/blog/announcing-imagesharp-beta-1/) or our [Samples Repository](https://github.com/SixLabors/Samples/tree/master/ImageSharp) for more examples!** ### Manual build