📷 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.
 
 

2.7 KiB

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.