📷 A modern, cross-platform, 2D Graphics library for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
James Jackson-South ddd64ec78d Add equality operators to Color 10 years ago
src/ImageProcessor Add equality operators to Color 10 years ago
tests/ImageProcessor.Tests Remove multiplication 10 years ago
.gitattributes First Commit 14 years ago
.gitignore Fix stylecop issues 10 years ago
APACHE-2.0-LICENSE.txt Async optimisation complete. 13 years ago
ImageProcessor.sln Cleanup 11 years ago
README.md Update README.md 10 years ago
Settings.StyleCop Adding more structs and tests 11 years ago

README.md

ImageProcessor

This branch contains the highly experimental cross platform version of ImageProcessor.

This is a complete rewrite from the ground up to allow the processing of images without the use of System.Drawing using a portable class library (PCL).

###Why am I writing this?

With NETCore there is currently no version of System.Drawing to allow continued progress of the existing ImageProcessor library. Progress developing a crossplatform update are restricted to the CoreFXLab repo where progress seems to be very slow.

###Is this wise?

Honestly... I don't know. I could be writing code that may be suddenly obsolete. There has been little feedback on questions I've asked but it's a nice learning process if anything.

###What works so far/ What is planned?

  • Encoding/decoding of image formats (plugable)
  • jpeg (Includes progressive)
  • bmp (More bmp format support required, 24bit just now)
  • png (Need updating for indexed support)
  • gif
  • Basic color structs with implicit operators (Needs support for HDR colors etc, could possible be updated by using Vector3/Vector4).
  • BGRA (Should this become RGBA?)
  • CIE Lab
  • CMYK
  • HSV
  • HSLA
  • RGBAW
  • YCbCr
  • Basic shape primitives (Unfinished and could possible be updated by using Vector2, Vector3, etc)
  • Rectangle
  • Size
  • Point
  • Sphere
  • Resampling algorithms. (Performance improvements?)
  • Box
  • Bicubic
  • Lanczos3
  • Lanczos5
  • Lanczos8
  • MitchelNetravali
  • Nearest Neighbour
  • Robidoux
  • Robidoux Sharp
  • Robidoux Soft
  • Spline
  • Triangle
  • Welch
  • Rotation
  • Flip (90, 270, FlipType etc)
  • Rotate by angle
  • ColorMatrix operations (Performance improvements? Following matrices implemented)
  • BlackWhite
  • Greyscale BT709
  • Greyscale BT601
  • Invert
  • Lomograph
  • Polaroid
  • Sepia
  • Blurring/ Sharpening
  • Gaussian blur
  • Gaussian sharpening
  • Box Blur
  • Filters
  • Alpha
  • Contrast
  • Brightness
  • Saturation
  • Hue
  • Effects
  • Pattern brushes
  • Elliptical brushes
  • Gradient brush (vignette?)

###What might never happen

  • Font support (Depends on new System.Text stuff)

###How can you help?

Spread the word, contribute algorithms, performance improvements, unit tests. Help me setup the solution properly for NETCore etc (I dunno if I have my setup correct)

There's a lot of developers out there who could write this stuff a lot better and faster than I and I would love to see what people can come up with.