From: Michael S. <mi...@ea...> - 2004-02-18 14:21:22
|
Robert L Krawitz wrote: > Date: Wed, 18 Feb 2004 08:02:05 -0500 > From: Michael Sweet <mi...@ea...> > Cc: we...@ti..., gim...@li..., > ber...@st... > > Robert L Krawitz wrote: > > ... > > Are there planes to describe the channel in its color meaning. How > > does the driver know which channel to give the data if someone says > > V: vert. An enumeration is as well not allways clear. The CMYKRB > > is an good example about semantic. More mixes will maybe > > introduced. > > > > Right, but we're not going to solve every problem right away. This is > > an interim solution. > > One way to do this using an enumeration is to define the color > space value as a bitwise OR of colors, e.g. use 4 bits to describe > the colorant, with 0 meaning no color. Um, like so: > > 0000 = no color > 0001 = black > 0010 = red > 0011 = green > 0100 = yellow > 0101 = blue > 0110 = magenta > 0111 = cyan > 1000 = white (yes, there are printers with white) > ... > > RGB = 0000 0101 0011 0010 = 0x00000532 > CMY = 0000 0100 0110 0111 = 0x00000467 > CMYK = 0000 0001 0100 0110 0111 = 0x00001467 > ... > > This is really intended to be only an interim solution. My guess is > that there won't be a lot of really strange things for a while, and > that will give us time to devise a better solution. Anyway, this list > is incomplete also; there are CMYKOG (orange) ink sets, also. Right, but the format would support 15 different colorants and up to 8 channels (for 32-bit integers, anyways) in a very compact and efficient format; whether you make full use of it right away is your call, but it would allow for future growth without major API changes. -- ______________________________________________________________________ Michael Sweet, Easy Software Products mike at easysw dot com Printing Software for UNIX http://www.easysw.com |