From 0411e44153c7dbe018aee18b50a26dbdd4847041 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 13 Mar 2018 12:30:27 +1100 Subject: [PATCH] Update readme, remove old docs folder, and features [skip ci] Features are too much work to keep track of. API docs should suffice. --- README.md | 49 ++++++++-------- features.md | 149 ------------------------------------------------- input/about.md | 3 - 3 files changed, 27 insertions(+), 174 deletions(-) delete mode 100644 features.md delete mode 100644 input/about.md diff --git a/README.md b/README.md index d9d2628bb..de95bdac4 100644 --- a/README.md +++ b/README.md @@ -4,31 +4,32 @@ ImageSharp

- GitHub license - Gitter - Twitter - OpenCollective - OpenCollective + GitHub license + Gitter + Twitter + OpenCollective + OpenCollective ### **ImageSharp** is a new, fully featured, fully managed, cross-platform, 2D graphics API. -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. +Designed to democratize image processing, ImageSharp brings you an incredibly powerful yet beautifully simple API. -Built against .Net Standard 1.1 ImageSharp can be used in device, cloud, and embedded/IoT scenarios. - -### Questions? +Compared to `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. -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. +Built against .Net Standard 1.1 ImageSharp can be used in device, cloud, and embedded/IoT scenarios. ### Installation +Install stable releases via Nuget;evelopment releases are available via MyGet. + | Package Name | Release (NuGet) | Nightly (MyGet) | |--------------------------------|-----------------|-----------------| | `SixLabors.ImageSharp` | [![NuGet](https://img.shields.io/nuget/v/SixLabors.ImageSharp.svg)](https://www.nuget.org/packages/SixLabors.ImageSharp/) | [![MyGet](https://img.shields.io/myget/sixlabors/v/SixLabors.ImageSharp.svg)](https://www.myget.org/feed/sixlabors/package/nuget/SixLabors.ImageSharp) | | `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: - **SixLabors.ImageSharp** - Contains the generic `Image` class, PixelFormats, Primitives, Configuration, and other core functionality. @@ -48,31 +49,37 @@ The **ImageSharp** library is made up of multiple packages: |**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 +### Questions? -There's plenty there and more coming. Check out the [current features](features.md)! +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. ### API -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. +API documentation is available at [https://sixlabors.github.io/docs/](https://sixlabors.github.io/docs/) + +Our API is designed to be simple to consume. 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. 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)) +// Image.Load(string path) is a shortcut for our default type. +// Other pixel formats use Image.Load(string path)) using (Image image = Image.Load("foo.jpg")) { image.Mutate(x => x .Resize(image.Width / 2, image.Height / 2) .Grayscale()); - image.Save("bar.jpg"); // automatic encoder selected based on extension. + image.Save("bar.jpg"); // Automatic encoder selected based on extension. } ``` -on netstandard 1.1 - 1.2 +On netstandard 1.1 - 1.2 + ```csharp -// Image.Load(Stream stream) is a shortcut for our default type. Other pixel formats use Image.Load(Stream stream)) +// Image.Load(Stream stream) is a shortcut for our default type. +// Other pixel formats use Image.Load(Stream stream)) using (FileStream stream = File.OpenRead("foo.jpg")) using (FileStream output = File.OpenWrite("bar.jpg")) -using (Image image = Image.Load(stream)) +using (Image image = Image.Load(stream)) { image.Mutate(x => x .Resize(image.Width / 2, image.Height / 2) @@ -81,7 +88,7 @@ using (Image image = Image.Load(stream)) } ``` -Setting individual pixel values can be perfomed as follows: +Setting individual pixel values can be performed as follows: ```csharp // Individual pixels @@ -93,9 +100,7 @@ using (Image image = new Image(400, 400)) `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. -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 diff --git a/features.md b/features.md deleted file mode 100644 index 1e35b88e0..000000000 --- a/features.md +++ /dev/null @@ -1,149 +0,0 @@ - -# Features - -### What works so far/ What is planned? - -We've achieved a lot so far and hope to do a lot more in the future. We're always looking for help so please pitch in! - -- **Encoding/decoding of image formats (plugable).** - - [x] Jpeg (Includes Subsampling. Progressive writing required) - - [x] Bmp (Read: 32bit, 24bit, 16 bit. Write: 32bit, 24bit just now) - - [x] Png (Read: Rgb, Rgba, Grayscale, Grayscale + alpha, Palette. Write: Rgb, Rgba, Grayscale, Grayscale + alpha, Palette) Supports interlaced decoding - - [x] Gif (Includes animated) - - [ ] Tiff (Help needed) -- **Metadata** - - [x] EXIF Read/Write (Jpeg just now) - - [ ] ICC (In Progress) -- **Quantizers (IQuantizer with alpha channel support, dithering, and thresholding)** - - [x] Octree - - [x] Xiaolin Wu - - [x] Palette -- **DIthering (Error diffusion and Ordered)** - - [x] Atkinson - - [x] Burks - - [x] FloydSteinburg - - [x] JarvisJudiceNinke - - [x] Sieera2 - - [x] Sierra3 - - [x] SerraLite - - [x] Bayer - - [x] Ordered -- **Basic color structs with implicit operators.** - - [x] Bgra32 - - [x] CIE Lab - - [x] CIE XYZ - - [x] CMYK - - [x] HSV - - [x] HSL - - [x] YCbCr -- **IPackedPixel representations of color models. Compatible with Microsoft XNA Game Studio and MonoGame IPackedVector\.** - - [x] Alpha8 - - [x] Argb32 - - [x] Bgr565 - - [x] Bgra444 - - [x] Bgra565 - - [x] Byte4 - - [x] HalfSingle - - [x] HalfVector2 - - [x] HalfVector4 - - [x] NormalizedByte2 - - [x] NormalizedByte4 - - [x] NormalizedShort2 - - [x] NormalizedShort4 - - [x] Rg32 - - [x] Rgba1010102 - - [x] Rgba32 - 32bit color in RGBA order - Our default pixel format. - - [x] Rgba64 - - [x] RgbaVector - - [x] Short2 - - [x] Short4 -- **Basic shape primitives.** - - [x] Rectangle - - [x] Size - - [x] Point - - [x] Ellipse -- **Resampling algorithms. (Optional gamma correction, resize modes, Performance improvements?)** - - [x] Box - - [x] Bicubic - - [x] Lanczos2 - - [x] Lanczos3 - - [x] Lanczos5 - - [x] Lanczos8 - - [x] MitchelNetravali - - [x] Nearest Neighbour - - [x] Robidoux - - [x] Robidoux Sharp - - [x] Spline - - [x] Triangle - - [x] Welch -- **Padding** - - [x] Pad - - [x] ResizeMode.Pad - - [x] ResizeMode.BoxPad -- **Cropping** - - [x] Rectangular Crop - - [ ] Elliptical Crop - - [x] Entropy Crop - - [x] ResizeMode.Crop -- **Rotation/Skew** - - [x] Flip (90, 270, FlipType etc) - - [x] Rotate by angle and center point (Expandable canvas). - - [x] Skew by x/y angles and center point (Expandable canvas). -- **ColorMatrix operations (Uses Matrix4x4)** - - [x] BlackWhite - - [x] Grayscale BT709 - - [x] Grayscale BT601 - - [x] Hue - - [x] Saturation - - [x] Lomograph - - [x] Polaroid - - [x] Kodachrome - - [x] Sepia - - [x] Achromatomaly - - [x] Achromatopsia - - [x] Deuteranomaly - - [x] Deuteranopia - - [x] Protanomaly - - [x] Protanopia - - [x] Tritanomaly - - [x] Tritanopia -- **Edge Detection** - - [x] Kayyali - - [x] Kirsch - - [x] Laplacian3X3 - - [x] Laplacian5X5 - - [x] LaplacianOfGaussian - - [x] Prewitt - - [x] RobertsCross - - [x] Robinson - - [x] Scharr - - [x] Sobel -- **Blurring/Sharpening** - - [x] Gaussian blur - - [x] Gaussian sharpening - - [x] Box Blur -- **Filters** - - [x] Alpha - - [x] Contrast - - [x] Invert - - [x] BackgroundColor - - [x] Brightness - - [x] Pixelate - - [ ] Mask - - [x] Oil Painting - - [x] Vignette - - [x] Glow - - [x] Threshold -- **Drawing** - - [x] Image brush - - [x] Pattern brush - - [x] Solid brush - - [X] Hatch brush (Partial copy of System.Drawing brushes) - - [x] Pen (Solid, Dash, Custom) - - [x] Line drawing - - [x] Complex Polygons (Fill, draw) - - [x] DrawImage - - [ ] Gradient brush (Need help) -- **DrawingText** - - [ ] DrawString (In-progress. Single variant support just now, no italic,bold) -- Other stuff I haven't thought of. \ No newline at end of file diff --git a/input/about.md b/input/about.md deleted file mode 100644 index 42739928a..000000000 --- a/input/about.md +++ /dev/null @@ -1,3 +0,0 @@ -Title: About This Project ---- -This project is awesome! \ No newline at end of file