< prev index next >
src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
Print this page
@@ -752,11 +752,10 @@
warningOccurred
(WARNING_IMAGE_METADATA_ADOBE_MISMATCH);
}
break;
case ColorSpace.TYPE_RGB:
- if (!alpha) {
if (jfif != null) {
outCsType = JPEG.JCS_YCbCr;
if (JPEG.isNonStandardICC(cs)
|| ((cs instanceof ICC_ColorSpace)
&& (jfif.iccSegment != null))) {
@@ -793,78 +792,11 @@
} else {
outCsType = JPEG.JCS_RGB;
}
}
}
- } else { // RGBA
- if (jfif != null) {
- ignoreJFIF = true;
- warningOccurred
- (WARNING_IMAGE_METADATA_JFIF_MISMATCH);
- }
- if (adobe != null) {
- if (adobe.transform
- != JPEG.ADOBE_UNKNOWN) {
- newAdobeTransform = JPEG.ADOBE_UNKNOWN;
- warningOccurred
- (WARNING_IMAGE_METADATA_ADOBE_MISMATCH);
- }
- outCsType = JPEG.JCS_RGBA;
- } else {
- // consult the ids
- int outCS = sof.getIDencodedCSType();
- // if they don't resolve it,
- // consult the sampling factors
- if (outCS != JPEG.JCS_UNKNOWN) {
- outCsType = outCS;
- } else {
- boolean subsampled =
- isSubsampled(sof.componentSpecs);
- outCsType = subsampled ?
- JPEG.JCS_YCbCrA : JPEG.JCS_RGBA;
- }
- }
- }
break;
- case ColorSpace.TYPE_3CLR:
- if (cs == JPEG.JCS.getYCC()) {
- if (!alpha) {
- if (jfif != null) {
- convertTosRGB = true;
- convertOp =
- new ColorConvertOp(cs,
- JPEG.JCS.sRGB,
- null);
- outCsType = JPEG.JCS_YCbCr;
- } else if (adobe != null) {
- if (adobe.transform
- != JPEG.ADOBE_YCC) {
- newAdobeTransform = JPEG.ADOBE_YCC;
- warningOccurred
- (WARNING_IMAGE_METADATA_ADOBE_MISMATCH);
- }
- outCsType = JPEG.JCS_YCC;
- } else {
- outCsType = JPEG.JCS_YCC;
- }
- } else { // PhotoYCCA
- if (jfif != null) {
- ignoreJFIF = true;
- warningOccurred
- (WARNING_IMAGE_METADATA_JFIF_MISMATCH);
- } else if (adobe != null) {
- if (adobe.transform
- != JPEG.ADOBE_UNKNOWN) {
- newAdobeTransform
- = JPEG.ADOBE_UNKNOWN;
- warningOccurred
- (WARNING_IMAGE_METADATA_ADOBE_MISMATCH);
- }
- }
- outCsType = JPEG.JCS_YCCA;
- }
- }
}
}
} // else no dest, metadata, not an image. Defaults ok
}
}
@@ -1562,31 +1494,14 @@
switch (cs.getType()) {
case ColorSpace.TYPE_GRAY:
retval = JPEG.JCS_GRAYSCALE;
break;
case ColorSpace.TYPE_RGB:
- if (alpha) {
- retval = JPEG.JCS_RGBA;
- } else {
retval = JPEG.JCS_RGB;
- }
break;
case ColorSpace.TYPE_YCbCr:
- if (alpha) {
- retval = JPEG.JCS_YCbCrA;
- } else {
retval = JPEG.JCS_YCbCr;
- }
- break;
- case ColorSpace.TYPE_3CLR:
- if (cs == JPEG.JCS.getYCC()) {
- if (alpha) {
- retval = JPEG.JCS_YCCA;
- } else {
- retval = JPEG.JCS_YCC;
- }
- }
break;
case ColorSpace.TYPE_CMYK:
retval = JPEG.JCS_CMYK;
break;
}
@@ -1602,31 +1517,14 @@
switch (cs.getType()) {
case ColorSpace.TYPE_GRAY:
retval = JPEG.JCS_GRAYSCALE;
break;
case ColorSpace.TYPE_RGB:
- if (alpha) {
- retval = JPEG.JCS_RGBA;
- } else {
retval = JPEG.JCS_RGB;
- }
break;
case ColorSpace.TYPE_YCbCr:
- if (alpha) {
- retval = JPEG.JCS_YCbCrA;
- } else {
retval = JPEG.JCS_YCbCr;
- }
- break;
- case ColorSpace.TYPE_3CLR:
- if (cs == JPEG.JCS.getYCC()) {
- if (alpha) {
- retval = JPEG.JCS_YCCA;
- } else {
- retval = JPEG.JCS_YCC;
- }
- }
break;
case ColorSpace.TYPE_CMYK:
retval = JPEG.JCS_CMYK;
break;
}
@@ -1649,31 +1547,14 @@
switch (cs.getType()) {
case ColorSpace.TYPE_GRAY:
retval = JPEG.JCS_GRAYSCALE;
break;
case ColorSpace.TYPE_RGB:
- if (alpha) {
- retval = JPEG.JCS_YCbCrA;
- } else {
retval = JPEG.JCS_YCbCr;
- }
break;
case ColorSpace.TYPE_YCbCr:
- if (alpha) {
- retval = JPEG.JCS_YCbCrA;
- } else {
retval = JPEG.JCS_YCbCr;
- }
- break;
- case ColorSpace.TYPE_3CLR:
- if (cs == JPEG.JCS.getYCC()) {
- if (alpha) {
- retval = JPEG.JCS_YCCA;
- } else {
- retval = JPEG.JCS_YCC;
- }
- }
break;
case ColorSpace.TYPE_CMYK:
retval = JPEG.JCS_YCCK;
break;
}
< prev index next >