Browse Source

Update Readme [skip ci]

af/merge-core
James Jackson-South 9 years ago
parent
commit
cbbaca5bc7
  1. 138
      README.md
  2. 137
      features.md

138
README.md

@ -34,143 +34,13 @@ To clone it locally click the "Clone in Windows" button above or run the followi
git clone https://github.com/JimBobSquarePants/ImageSharp
```
### What works so far/ What is planned?
- 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) Needs interlaced decoding
- [x] Gif (Includes animated)
- [ ] Tiff
- Metadata
- [x] EXIF Read/Write (Jpeg just now)
- Quantizers (IQuantizer with alpha channel support + thresholding)
- [x] Octree
- [x] Xiaolin Wu
- [x] Palette
- Basic color structs with implicit operators.
- [x] Color - 32bit color in RGBA order (IPackedPixel\<TPacked\>).
- [x] Bgra32
- [x] CIE Lab
- [x] CIE XYZ
- [x] CMYK
- [x] HSV
- [x] HSL
- [x] YCbCr
- IPackedPixel\<TPacked\> representations of color models. Compatible with Microsoft XNA Game Studio and MonoGame.
- [x] Alpha8
- [x] Argb
- [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] Rgba64
- [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)
- Other stuff I haven't thought of.
### What might never happen
- Font support. I don't know where to start coding this so if you have any pointers please chip in.
### Features
There's plenty there and more coming. Check out the [current features](features.md)!
### API
Without the constraints of `System.Drawing` I 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. Images and processors are thread safe usable in parallel processing utilizing all the availables cores.
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. Images and processors are thread safe usable in parallel processing utilizing all the availables cores.
Many `Image` methods are also fluent.

137
features.md

@ -0,0 +1,137 @@
# 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
- **Metadata**
- [x] EXIF Read/Write (Jpeg just now)
- **Quantizers (IQuantizer with alpha channel support + thresholding)**
- [x] Octree
- [x] Xiaolin Wu
- [x] Palette
- **Basic color structs with implicit operators.**
- [x] Color - 32bit color in RGBA order (IPackedPixel\<TPacked\>).
- [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\<TPacked\>.**
- [x] Alpha8
- [x] Argb
- [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] Rgba64
- [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**
- [x] DrawString (Single variant support just now, no italic,bold)
- Other stuff I haven't thought of.
Loading…
Cancel
Save