Пример #1
0
void dkCmsFloat2XYZEncoded(WORD XYZ[3], const cmsCIEXYZ* const fXYZ)
{
    cmsFloat2XYZEncoded(XYZ, fXYZ);
}
Пример #2
0
static
void TakeValues(WORD Encoded[])
{

    if (cmsGetDeviceClass(hInput) == icSigNamedColorClass) {
        Encoded[0] = GetIndex();
        return;
    }
       
    switch (InputColorSpace) {

    case icSigXYZData:
                    xyz.X = GetDbl("X"); 
                    xyz.Y = GetDbl("Y"); 
                    xyz.Z = GetDbl("Z");
                    cmsFloat2XYZEncoded(Encoded, &xyz);                 
                    break;

    case icSigLabData:
                    Lab.L = GetDbl("L*"); 
                    Lab.a = GetDbl("a*"); 
                    Lab.b = GetDbl("b*");
                    cmsFloat2LabEncoded(Encoded, &Lab);                 
                    break;

    case icSigLuvData:
                    Encoded[0] = GetVal("L"); 
                    Encoded[1] = GetVal("u"); 
                    Encoded[2] = GetVal("v"); 
                    break;

    case icSigYCbCrData:
                    Encoded[0] = GetVal("Y"); 
                    Encoded[1] = GetVal("Cb"); 
                    Encoded[2] = GetVal("Cr"); 
                    break;


    case icSigYxyData:
                    Encoded[0] = GetVal("Y"); 
                    Encoded[1] = GetVal("x"); 
                    Encoded[2] = GetVal("y"); 
                    break;

    case icSigRgbData:
                    Encoded[0] = GetVal("R"); 
                    Encoded[1] = GetVal("G"); 
                    Encoded[2] = GetVal("B"); 
                    break;

    case icSigGrayData:
                    Encoded[0] = GetVal("G");
                    break;

    case icSigHsvData:
                    Encoded[0] = GetVal("H"); 
                    Encoded[1] = GetVal("s"); 
                    Encoded[2] = GetVal("v"); 
                    break;

    case icSigHlsData:
                    Encoded[0] = GetVal("H"); 
                    Encoded[1] = GetVal("l"); 
                    Encoded[2] = GetVal("s"); 
                    break;

    case icSigCmykData:
                    Encoded[0] = Get100("C"); 
                    Encoded[1] = Get100("M"); 
                    Encoded[2] = Get100("Y"); 
                    Encoded[3] = Get100("K"); 
                    break;

    case icSigCmyData:                        
                    Encoded[0] = Get100("C"); 
                    Encoded[1] = Get100("M"); 
                    Encoded[2] = Get100("Y"); 
                    break;

    case icSigHexachromeData:    
                    Encoded[0] = Get100("C"); Encoded[1] = Get100("M"); 
                    Encoded[2] = Get100("Y"); Encoded[3] = Get100("K"); 
                    Encoded[4] = Get100("c"); Encoded[5] = Get100("m");                                       
                    break;

    case icSigHeptachromeData:
    case icSigOctachromeData:    
    case icSig2colorData:
    case icSig3colorData:
    case icSig4colorData:
    case icSig5colorData:
    case icSig6colorData:
    case icSig7colorData:
    case icSig8colorData: {
                            int i;

                            for (i=0; i < _cmsChannelsOf(InputColorSpace); i++) {

                                char Name[100];

                                sprintf(Name, "Channel #%d", i+1);
                                Encoded[i] = GetVal(Name);
                            }

                          }
                          break;

    default:              
                    FatalError("Unsupported %d channel profile", _cmsChannelsOf(InputColorSpace));
    }

}