Example #1
0
void*
TIFFOutput::convert_to_cmyk (int npixels, const void* data)
{
    std::vector<unsigned char> cmyk (m_outputchans * spec().format.size() * npixels);
    if (spec().format == TypeDesc::UINT8) {
        rgb_to_cmyk (npixels, (unsigned char *)data, m_spec.nchannels,
                     (unsigned char *)&cmyk[0], m_outputchans);
    } else if (spec().format == TypeDesc::UINT16) {
        rgb_to_cmyk (npixels, (unsigned short *)data, m_spec.nchannels,
                     (unsigned short *)&cmyk[0], m_outputchans);
    } else {
        ASSERT (0 && "CMYK should be forced to UINT8 or UINT16");
    }
    m_scratch.swap (cmyk);
    return &m_scratch[0];
}
Example #2
0
int main() {
    double a,b,c,d;
    char s[99];
    for(; ~(scanf("%s",s));) {
        if(*s=='(') {
            sscanf(s,"(%lf,%lf,%lf,%lf)",&a,&b,&c,&d);
            cmyk(a,b,c,d);
        } else if(s[2]=='L') {
            sscanf(s,"HSL(%lf,%lf,%lf)",&a,&b,&c);
            hsl(a,b/100,c/100);
        } else if(s[2]=='V') {
            sscanf(s,"HSV(%lf,%lf,%lf)",&a,&b,&c);
            hsv(a,b/100,c/100);
        } else {
            hex(s);
        }
    }
    return 0;
}