# Color classes - beta release, request for feedback

**URL:** <https://www.ruby-forum.com/t/color-classes-beta-release-request-for-feedback/108812>\
**Category:** Ruby\
**Created:** [July 7, 2007, 2:09pm UTC](https://www.ruby-forum.com/t/color-classes-beta-release-request-for-feedback/108812 "2007-07-07T14:09:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![apeiros](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/838e76/32.png) [@apeiros](https://www.ruby-forum.com/u/apeiros)\
**Post date:** [July 7, 2007, 2:09pm UTC](https://www.ruby-forum.com/t/color-classes-beta-release-request-for-feedback/108812/1 "2007-07-07T14:09:09Z")

</div>

Hi there

Since I recently had a bit of free time I decided to practice C a bit  
and wrote  
an extension with color classes for ruby in C and ruby.  
Color is a collection of classes to deal with colors. To  
create, compare, store and manipulate them.  
At the moment I try to get in contact with Austin Z. in order to  
merge it  
with the color gem he currently provides.  
Until then you can get the beta here:  
[http://rubyforge.org/frs/?group\_id=1349&release\_id=12834](http://rubyforge.org/frs/?group_id=1349&release_id=12834)  
To install it, download the gem and then type: gem install  
/path/to/color-0.0.4.gem.tar

I hope for some response, I’m especially looking for input on:  
-The C code: since this is only my second extension written in C with  
almost no prior  
C experience, input on the C code is most welcome.  
-Common#distance: Ideas for a perceptional distance. Also an open  
question is, whether it should include alpha or not.  
Personally I’m against including alpha (even though the  
current implementation includes it).  
My current thoughts go towards using cylindrical HSV with hue  
weighted more.  
-Color spaces/management: If there are people with knowledge  
about color spaces, please bring it on. Color spaces are  
required to make meaningful transformations between different color  
models, unlike the current purely theoretical implementations  
which are of little use in real applications. They are also  
required to do transformations to CIE XYZ/Lab.  
-Higher accuracy: The C implementation of RGB and CMYK both work  
with 8 bit per component, but there are e.g. already scanners  
which can deliver 12 bit per component. Is that a requirement?  
If yes, separate classes for that or beef up the existing ones?  
-#blend: alternative algorithms and general input  
-Named colors  
-Missing features - tell me what you’d like to have.

Please notice that it is still beta. There is still stuff I have in mind  
to do  
(e.g. port the test-units to the current setup and write more of them)

Regards  
Stefan
