In the “first” post of this blog I want to introduce ColorSharp. ColorSharp is an open source .NET/Mono library created to manipulate colour spaces and light spectrums.
The current version is 0.5.2 (alpha quality). The current unit testing coverage is still very low, the performance should be improved and I can’t ensure yet a stable API, but I think this will change in a few weeks.
ColorSharp releases are following “semantic versioning“. Probably the number of releases during the first weeks will be hight because I’m using the library in many closed source projects and I often need to release minor changes in order to use it in these projects.
How to use ColorSharp
To start using ColorSharp the easy way, you can download the DLL files using NuGet :
nuget install ColorSharp
The distributed ColorSharp.dll file is signed and “strong-named”, so you can use it in other signed and strong-named .NET/Mono components.
How to contribute
If you want to contribute there is a TODO list at the end of this post with many ideas to improve the project. Whatever you want to improve in ColorSharp, you’ll need to be able to build the library. I’ll assume basic GIT knowledge.
Cloning the GIT repository
You can find the ColorSharp’s GIT repository at:
Work Environment Setup
I recommend using Monodevelop >= 5.0 . If you are working in Linux you may experience minor problems. Probably you’ll have to compile Mono >= 3.8 and Monodevelop >= 5.3 in order to be able to use NuGet and its integrated “Package Manager Console”.
If you work on Windows I suggest to install Mono in order to allow testing of your contributions also on Mono (I don’t want to break Mono compatibility).
As an extra point, it’s recommended to download the NuGet executable binary. In Linux you need Mono to execute NuGet (I suggest to write a simple wrapper to simplify the program call and “install” it in
/opt adding the path in the
PATH environment variable).
To Do List
- Add documentation to the Github’s wiki.
- Improve the code comments.
- Add new color spaces :
- Add new feature extraction methods:
- Color Temperature.
- Color Quality Scale (CQS).
- Color Rendering Index (CRI).
- Improve performance (profiling, better architecture…).
- Increase unit testing coverage.
- Integration with TravisCI.
- Integration with Coverity Scan.
- Create .DEB & .RPM packages for Debian, Ubuntu, Fedora and Redhat.
That’s all for today. Cheers.