bitMasks = sampleModel.getBitMasks(); bitOffsets = sampleModel.getBitOffsets();
bitMasks = sampleModel.getBitMasks(); bitOffsets = sampleModel.getBitOffsets();
public static boolean is_INT_PACK_COMP(SampleModel sm) { if(!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer types if(sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)sm; int [] masks = sppsm.getBitMasks(); if ((masks.length != 3) && (masks.length != 4)) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
public static boolean is_INT_PACK_COMP(SampleModel sm) { if(!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer types if(sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)sm; int [] masks = sppsm.getBitMasks(); if ((masks.length != 3) && (masks.length != 4)) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
public static boolean is_INT_PACK_COMP(SampleModel sm) { if(!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer types if(sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)sm; int [] masks = sppsm.getBitMasks(); if ((masks.length != 3) && (masks.length != 4)) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
public static boolean is_INT_PACK_Data(SampleModel sm, boolean requireAlpha) { // Check ColorModel is of type DirectColorModel if(!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer type if(sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)sm; int [] masks = sppsm.getBitMasks(); if (masks.length == 3) { if (requireAlpha) return false; } else if (masks.length != 4) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
public static boolean is_INT_PACK_Data(SampleModel sm, boolean requireAlpha) { // Check ColorModel is of type DirectColorModel if(!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer type if(sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)sm; int [] masks = sppsm.getBitMasks(); if (masks.length == 3) { if (requireAlpha) return false; } else if (masks.length != 4) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
public static boolean is_INT_PACK_Data(SampleModel sm, boolean requireAlpha) { // Check ColorModel is of type DirectColorModel if(!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer type if(sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)sm; int [] masks = sppsm.getBitMasks(); if (masks.length == 3) { if (requireAlpha) return false; } else if (masks.length != 4) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
public static boolean is_INT_PACK_Data(SampleModel sm, boolean requireAlpha) { // Check ColorModel is of type DirectColorModel if (!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer type if (sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel) sm; int[] masks = sppsm.getBitMasks(); if (masks.length == 3) { if (requireAlpha) return false; } else if (masks.length != 4) return false; if (masks[0] != 0x00ff0000) return false; if (masks[1] != 0x0000ff00) return false; if (masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
public static boolean is_INT_PACK_Data(SampleModel sm, boolean requireAlpha) { // Check ColorModel is of type DirectColorModel if(!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer type if(sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)sm; int [] masks = sppsm.getBitMasks(); if (masks.length == 3) { if (requireAlpha) return false; } else if (masks.length != 4) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
public static boolean is_INT_PACK_Data(SampleModel sm, boolean requireAlpha) { // Check ColorModel is of type DirectColorModel if(!(sm instanceof SinglePixelPackedSampleModel)) return false; // Check transfer type if(sm.getDataType() != DataBuffer.TYPE_INT) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)sm; int [] masks = sppsm.getBitMasks(); if (masks.length == 3) { if (requireAlpha) return false; } else if (masks.length != 4) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if ((masks.length == 4) && (masks[3] != 0xff000000)) return false; return true; }
private void writeSinglePixelPackedSampleModel( DataOutput out, SinglePixelPackedSampleModel model ) throws IOException { int[] masks = model.getBitMasks(); out.writeInt( masks.length ); for(int i=0; i<masks.length; i++) out.writeInt( masks[i] ); out.writeInt( model.getDataType() ); out.writeInt( model.getWidth() ); out.writeInt( model.getHeight() ); out.writeInt( model.getScanlineStride() ); }
/** * Returns a width- and height-aligned image representation sharing data w/ {@link #image}. * @param width * @param height * @return * @throws IllegalArgumentException if requested size exceeds image size */ public BufferedImage getAlignedImage(final int width, final int height) throws IllegalArgumentException { if( width * height > image.getWidth() * image.getHeight() ) { throw new IllegalArgumentException("Requested size exceeds image size: "+width+"x"+height+" > "+image.getWidth()+"x"+image.getHeight()); } if( width == image.getWidth() && height == image.getHeight() ) { return image; } else { final ColorModel cm = image.getColorModel(); final WritableRaster raster0 = image.getRaster(); final DataBuffer dataBuffer = raster0.getDataBuffer(); final SinglePixelPackedSampleModel sppsm0 = (SinglePixelPackedSampleModel) raster0.getSampleModel(); final SinglePixelPackedSampleModel sppsm1 = new SinglePixelPackedSampleModel(dataBuffer.getDataType(), width, height, width /* scanLineStride */, sppsm0.getBitMasks()); final WritableRaster raster1 = Raster.createWritableRaster(sppsm1, dataBuffer, null); return new BufferedImage (cm, raster1, cm.isAlphaPremultiplied(), null); } }
protected IntegerSinglePixelPackedScanline(Raster src, WritableRaster dst, final int length) { super(length); srcRaster = src; dstRaster = dst; srcSM = (SinglePixelPackedSampleModel) srcRaster.getSampleModel(); bitMasks = srcSM.getBitMasks(); bitOffsets = srcSM.getBitOffsets(); componentCount = bitMasks.length; if (componentCount != bitOffsets.length || bitOffsets.length != srcSM.getNumBands()) throw new IllegalArgumentException("weird: getBitMasks().length != getBitOffsets().length"); tmp = new int[componentCount]; data = new int[componentCount * length]; }
protected IntegerSinglePixelPackedScanline(Raster src, WritableRaster dst, final int length) { super(length); srcRaster = src; dstRaster = dst; srcSM = (SinglePixelPackedSampleModel) srcRaster.getSampleModel(); bitMasks = srcSM.getBitMasks(); bitOffsets = srcSM.getBitOffsets(); componentCount = bitMasks.length; if (componentCount != bitOffsets.length || bitOffsets.length != srcSM.getNumBands()) throw new IllegalArgumentException("weird: getBitMasks().length != getBitOffsets().length"); tmp = new int[componentCount]; data = new int[componentCount * length]; }
protected IntegerSinglePixelPackedScanline(Raster src, WritableRaster dst, final int length) { super(length); srcRaster = src; dstRaster = dst; srcSM = (SinglePixelPackedSampleModel) srcRaster.getSampleModel(); bitMasks = srcSM.getBitMasks(); bitOffsets = srcSM.getBitOffsets(); componentCount = bitMasks.length; if (componentCount != bitOffsets.length || bitOffsets.length != srcSM.getNumBands()) throw new IllegalArgumentException( "weird: getBitMasks().length != getBitOffsets().length"); tmp = new int[componentCount]; data = new int[componentCount * length]; }
public ICCPackedColorModel(ICC_ColorSpace colorSpace, Raster raster) { // FIXME this super call silently only handles rasters without alpha channel! super(colorSpace,// getBits(raster),// ((SinglePixelPackedSampleModel) raster.getSampleModel()).getBitMasks(), 0, true, OPAQUE, raster.getTransferType()); this.colorSpace = colorSpace; this.maskArray = ((SinglePixelPackedSampleModel) raster.getSampleModel()).getBitMasks(); this.maskOffsets = ((SinglePixelPackedSampleModel) raster.getSampleModel()).getBitOffsets(); }
public boolean is_INT_PACK_BYTE_COMP(SampleModel srcSM, SampleModel alpSM) { // Check SampleModel types DirectColorModel if(!(srcSM instanceof SinglePixelPackedSampleModel)) return false; if(!(alpSM instanceof ComponentSampleModel)) return false; // Check transfer types if(srcSM.getDataType() != DataBuffer.TYPE_INT) return false; if(alpSM.getDataType() != DataBuffer.TYPE_BYTE) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)srcSM; int [] masks = sppsm.getBitMasks(); if(masks.length != 4) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if(masks[3] != 0xff000000) return false; ComponentSampleModel csm; csm = (ComponentSampleModel)alpSM; if (csm.getNumBands() != 1) return false; if (csm.getPixelStride() != 1) return false; return true; }
@Override public boolean isCompatibleRaster(Raster raster) { SampleModel sm = raster.getSampleModel(); SinglePixelPackedSampleModel spsm; if (sm instanceof SinglePixelPackedSampleModel) { spsm = (SinglePixelPackedSampleModel) sm; } else { return false; } if (spsm.getNumBands() != getNumComponents()) { return false; } int[] bitMasks = spsm.getBitMasks(); for (int i = 0; i < 4; i++) { if (bitMasks[i] != maskArray[i]) { return false; } } return (raster.getTransferType() == transferType); }
public boolean is_INT_PACK_BYTE_COMP(SampleModel srcSM, SampleModel alpSM) { // Check SampleModel types DirectColorModel if(!(srcSM instanceof SinglePixelPackedSampleModel)) return false; if(!(alpSM instanceof ComponentSampleModel)) return false; // Check transfer types if(srcSM.getDataType() != DataBuffer.TYPE_INT) return false; if(alpSM.getDataType() != DataBuffer.TYPE_BYTE) return false; SinglePixelPackedSampleModel sppsm; sppsm = (SinglePixelPackedSampleModel)srcSM; int [] masks = sppsm.getBitMasks(); if(masks.length != 4) return false; if(masks[0] != 0x00ff0000) return false; if(masks[1] != 0x0000ff00) return false; if(masks[2] != 0x000000ff) return false; if(masks[3] != 0xff000000) return false; ComponentSampleModel csm; csm = (ComponentSampleModel)alpSM; if (csm.getNumBands() != 1) return false; if (csm.getPixelStride() != 1) return false; return true; }