{
PcxHeader pcxHeader = readPcxHeader(byteSource);
Dimension size = getImageSize(byteSource, params);
int metricHDpi = (int) (pcxHeader.hDpi * 1000.0 / 2.54);
int metricVDpi = (int) (pcxHeader.vDpi * 1000.0 / 2.54);
return new ImageInfo("PCX", pcxHeader.nPlanes * pcxHeader.bitsPerPixel, new ArrayList(),
ImageFormat.IMAGE_FORMAT_PCX, "ZSoft PCX Image", size.height, "image/x-pcx", 1,
metricVDpi, pcxHeader.vDpi / metricVDpi, metricHDpi, pcxHeader.hDpi / metricHDpi,
size.width, false, false,
!(pcxHeader.nPlanes == 3 && pcxHeader.bitsPerPixel == 8),
ImageInfo.COLOR_TYPE_RGB,