google-code-export / gpick

Automatically exported from code.google.com/p/gpick
2 stars 0 forks source link

Simulate color blindness/defects? #39

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When creating color schemes it would be very useful to know which colors may 
not display properly for those with color blindness/defects. More information 
on what types there are can be found here 
http://en.wikipedia.org/wiki/Color_blindness

Additionally, for ideas of how this might be implemented take a look at this 
website http://colorschemedesigner.com/ (under the Colorblind tab) and at 
Scribus (I use 1.5)

Original issue reported on code.google.com by bv3...@gmail.com on 31 May 2011 at 8:24

GoogleCodeExporter commented 9 years ago
Thanks for suggestion, I will look into it.

Original comment by thezbyg on 1 Jun 2011 at 5:20

GoogleCodeExporter commented 9 years ago
Color blindness simulation for three types of anomalous trichromacy 
(protanomaly, deuteranomaly and tritanomaly) has been implemented. 

To enable it, you should:
1. Clicking on 'Edit->Edit Transformatios...' menu item. 
2. In the 'Transformations' dialog enable 'Enabled' check box.
3. Add 'Color vision deficiency' transformation to the list by clicking "Add" 
button.
4. Double click on the added transformation to edit its properties.
5. Click OK.

Other defect types will be implemented soon. Configuration interface is still 
work in progress.

Original comment by thezbyg on 11 Aug 2011 at 9:09

GoogleCodeExporter commented 9 years ago
I've written a Quantization transformer; it's attached here for consideration.

Basically, it allows you to determine what colors look like when matched to the 
nearest color in a quantized RGB colorcube, such as:

* GBA: 32 possible intensities of RGB
* SNES: 32 possible intensities, with white being clipped (darkest intensity = 
0/32, highest intensity == 31/32), suitable for CRT TV display.
* Amiga: 16 possible intensities
* CPC: 3 possible intensities
* etc.. (EGA64, SMS, Genesis, MCGA,)

etc. It is useful for various game-developing purposes.

I'm happy with the quality of the code, personally; I only wonder whether 'clip 
top-end' is a clear enough description of the clipping option for the user to 
understand.

Original comment by 00a...@gmail.com on 29 Aug 2012 at 6:42

Attachments:

GoogleCodeExporter commented 9 years ago
There was a couple of issues (both fixed in attached patch):

* "Clip top-end" check box state was not restored in configuration constructor.
* "Value" range included values 0 and 1 which could cause division by zero in 
apply() method.

'Clip top-end' is ok.

Other than that, it is ready to be committed.

Original comment by thezbyg on 30 Aug 2012 at 10:04

Attachments:

GoogleCodeExporter commented 9 years ago
Thanks :) I see I need to review whitespace more carefully. I'll commit your 
updated version after I add some other minor updates.

Original comment by 00a...@gmail.com on 31 Aug 2012 at 7:38