1 17 18 19 20 package org.apache.fop.pdf; 21 22 25 public class PDFICCBasedColorSpace extends PDFObject implements PDFColorSpace { 26 27 private PDFICCStream iccStream; 28 private String explicitName; 29 30 35 public PDFICCBasedColorSpace(String explicitName, PDFICCStream iccStream) { 36 this.explicitName = explicitName; 37 this.iccStream = iccStream; 38 } 39 40 44 public PDFICCBasedColorSpace(PDFICCStream iccStream) { 45 this(null, iccStream); 46 } 47 48 49 public PDFICCStream getICCStream() { 50 return this.iccStream; 51 } 52 53 54 public int getNumComponents() { 55 return iccStream.getICCProfile().getNumComponents(); 56 } 57 58 59 public String getName() { 60 if (explicitName != null) { 61 return explicitName; 62 } else { 63 return "ICC" + iccStream.getObjectNumber(); 64 } 65 } 66 67 68 public boolean isDeviceColorSpace() { 69 return false; 70 } 71 72 73 public boolean isRGBColorSpace() { 74 return getNumComponents() == 3; 75 } 76 77 78 public boolean isCMYKColorSpace() { 79 return getNumComponents() == 4; 80 } 81 82 83 public boolean isGrayColorSpace() { 84 return getNumComponents() == 1; 85 } 86 87 88 protected String toPDFString() { 89 StringBuffer sb = new StringBuffer (64); 90 sb.append(getObjectID()); 91 sb.append("[/ICCBased ").append(getICCStream().referencePDF()).append("]"); 92 sb.append("\nendobj\n"); 93 return sb.toString(); 94 } 95 96 } 97 | Popular Tags |