|
|
10 years ago | |
|---|---|---|
| src/ImageProcessor | 10 years ago | |
| tests/ImageProcessor.Tests | 10 years ago | |
| .gitattributes | 14 years ago | |
| .gitignore | 10 years ago | |
| APACHE-2.0-LICENSE.txt | 13 years ago | |
| ImageProcessor.sln | 11 years ago | |
| README.md | 10 years ago | |
| Settings.StyleCop | 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 saving support required, 24bit just now)
- png (Need updating for saving indexed support)
- gif
- Basic color structs with implicit operators. Vector backed.
- Color - Float based, No limit to r, g, b, a values allowing for a fuller color range.
- BGRA32
- 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
- Cropping
- Rectangular Crop
- Elliptical Crop
- Entropy Crop
- Rotation
- Flip (90, 270, FlipType etc)
- Rotate by angle
- ColorMatrix operations (Uses Matrix4x4)
- BlackWhite
- Greyscale BT709
- Greyscale BT601
- Lomograph
- Polaroid
- Kodachrome
- Sepia
- Edge Detection
- Kayyali
- Kirsch
- Laplacian3X3
- Laplacian5X5
- LaplacianOfGaussian
- Prewitt
- RobertsCross
- Scharr
- Sobel
- Blurring/ Sharpening
- Gaussian blur
- Gaussian sharpening
- Box Blur
- Filters
- Alpha
- Contrast
- Invert
- Brightness
- Saturation
- Hue
- Blend
- 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.