src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java

Print this page




 146                 disposerReferent = new Object();
 147             }
 148             inFormatter = in.pixelType;
 149             isInIntPacked = in.isIntPacked;
 150 
 151             outFormatter = out.pixelType;
 152             isOutIntPacked = out.isIntPacked;
 153 
 154             ID = LCMS.createNativeTransform(profileIDs, renderType,
 155                                             inFormatter, isInIntPacked,
 156                                             outFormatter, isOutIntPacked,
 157                                             disposerReferent);
 158         }
 159 
 160         LCMS.colorConvert(this, in, out);
 161     }
 162 
 163     public void colorConvert(BufferedImage src, BufferedImage dst) {
 164         LCMSImageLayout srcIL, dstIL;
 165 

 166         dstIL = LCMSImageLayout.createImageLayout(dst);
 167 
 168         if (dstIL != null) {
 169             srcIL = LCMSImageLayout.createImageLayout(src);
 170             if (srcIL != null) {
 171                 doTransform(srcIL, dstIL);
 172                 return;
 173             }
 174         }

 175 
 176         Raster srcRas = src.getRaster();
 177         WritableRaster dstRas = dst.getRaster();
 178         ColorModel srcCM = src.getColorModel();
 179         ColorModel dstCM = dst.getColorModel();
 180         int w = src.getWidth();
 181         int h = src.getHeight();
 182         int srcNumComp = srcCM.getNumColorComponents();
 183         int dstNumComp = dstCM.getNumColorComponents();
 184         int precision = 8;
 185         float maxNum = 255.0f;
 186         for (int i = 0; i < srcNumComp; i++) {
 187             if (srcCM.getComponentSize(i) > 8) {
 188                  precision = 16;
 189                  maxNum = 65535.0f;
 190              }
 191         }
 192         for (int i = 0; i < dstNumComp; i++) {
 193             if (dstCM.getComponentSize(i) > 8) {
 194                  precision = 16;




 146                 disposerReferent = new Object();
 147             }
 148             inFormatter = in.pixelType;
 149             isInIntPacked = in.isIntPacked;
 150 
 151             outFormatter = out.pixelType;
 152             isOutIntPacked = out.isIntPacked;
 153 
 154             ID = LCMS.createNativeTransform(profileIDs, renderType,
 155                                             inFormatter, isInIntPacked,
 156                                             outFormatter, isOutIntPacked,
 157                                             disposerReferent);
 158         }
 159 
 160         LCMS.colorConvert(this, in, out);
 161     }
 162 
 163     public void colorConvert(BufferedImage src, BufferedImage dst) {
 164         LCMSImageLayout srcIL, dstIL;
 165 
 166         if (!dst.getColorModel().hasAlpha()) {
 167             dstIL = LCMSImageLayout.createImageLayout(dst);
 168 
 169             if (dstIL != null) {
 170                 srcIL = LCMSImageLayout.createImageLayout(src);
 171                 if (srcIL != null) {
 172                     doTransform(srcIL, dstIL);
 173                     return;
 174                 }
 175             }
 176         }
 177         
 178         Raster srcRas = src.getRaster();
 179         WritableRaster dstRas = dst.getRaster();
 180         ColorModel srcCM = src.getColorModel();
 181         ColorModel dstCM = dst.getColorModel();
 182         int w = src.getWidth();
 183         int h = src.getHeight();
 184         int srcNumComp = srcCM.getNumColorComponents();
 185         int dstNumComp = dstCM.getNumColorComponents();
 186         int precision = 8;
 187         float maxNum = 255.0f;
 188         for (int i = 0; i < srcNumComp; i++) {
 189             if (srcCM.getComponentSize(i) > 8) {
 190                  precision = 16;
 191                  maxNum = 65535.0f;
 192              }
 193         }
 194         for (int i = 0; i < dstNumComp; i++) {
 195             if (dstCM.getComponentSize(i) > 8) {
 196                  precision = 16;