boolean defaultsRGB = ColorProfileUtil.isDefaultsRGB(prof);
String desc = ColorProfileUtil.getICCProfileDescription(prof);
if (log.isDebugEnabled()) {
log.debug("Image returns ICC profile: " + desc + ", default sRGB=" + defaultsRGB);
}
PDFICCBasedColorSpace cs = doc.getResources().getICCColorSpaceByProfileName(desc);
PDFICCStream pdfICCStream;
if (!defaultsRGB) {
if (cs == null) {
pdfICCStream = doc.getFactory().makePDFICCStream();
pdfICCStream.setColorSpace(prof, pdfCS);
cs = doc.getFactory().makeICCBasedColorSpace(null, null, pdfICCStream);
} else {
pdfICCStream = cs.getICCStream();
}
} else {
if (cs == null) {
if (desc == null || !desc.startsWith("sRGB")) {
log.warn("The default sRGB profile was indicated,"
+ " but the profile description does not match what was expected: "
+ desc);
}
//It's the default sRGB profile which we mapped to DefaultRGB in PDFRenderer
cs = (PDFICCBasedColorSpace)doc.getResources().getColorSpace(
new PDFName("DefaultRGB"));
}
if (cs == null) {
// sRGB hasn't been set up for the PDF document
// so install but don't set to DefaultRGB
cs = PDFICCBasedColorSpace.setupsRGBColorSpace(doc);
}
pdfICCStream = cs.getICCStream();
}
return pdfICCStream;
}