public static BlkImgDataSrc createInstance(BlkImgDataSrc src, ColorSpace csMap)
{
// Check parameters
csMap.pl.checkList(OPT_PREFIX, CSJ2K.j2k.util.ParameterList.toNameArray(pinfo));
// Perform ICCProfiling or ColorSpace tranfsormation.
if (csMap.Method == ColorSpace.MethodEnum.ICC_PROFILED)
{
return ICCProfiler.createInstance(src, csMap);
}
else
{
ColorSpace.CSEnum colorspace = csMap.getColorSpace();
if (colorspace == ColorSpace.CSEnum.sRGB)
{
return EnumeratedColorSpaceMapper.createInstance(src, csMap);
}
else if (colorspace == ColorSpace.CSEnum.GreyScale)
{
return EnumeratedColorSpaceMapper.createInstance(src, csMap);
}
else if (colorspace == ColorSpace.CSEnum.sYCC)
{
return SYccColorSpaceMapper.createInstance(src, csMap);
}
if (colorspace == ColorSpace.CSEnum.esRGB)
{
return EsRgbColorSpaceMapper.createInstance(src, csMap);
}
else if (colorspace == ColorSpace.CSEnum.Unknown)
{
return null;
}
else
{
throw new ColorSpaceException("Bad color space specification in image");
}
}
}