private static MagickImage rgbToMagic(BufferedImage pImage, boolean pAlpha) throws MagickException { MagickImage image = new MagickImage(); BufferedImage buffered = ImageUtil.toBuffered(pImage, pAlpha ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_3BYTE_BGR); // Need to get data of sub raster, not the full data array, this is // just a convenient way Raster raster; if (buffered.getRaster().getParent() != null) { raster = buffered.getData(new Rectangle(buffered.getWidth(), buffered.getHeight())); } else { raster = buffered.getRaster(); } image.constituteImage(buffered.getWidth(), buffered.getHeight(), pAlpha ? "ABGR" : "BGR", ((DataBufferByte) raster.getDataBuffer()).getData()); return image; }
if (buffered.getRaster().getParent() != null) { raster = buffered.getData(new Rectangle(buffered.getWidth(), buffered.getHeight()));
/** * Checks to see if the input image is a subImage(). * @param img * @return */ public static boolean isSubImage( BufferedImage img ) { return img.getRaster().getParent() != null; } }
private static MagickImage rgbToMagic(BufferedImage pImage, boolean pAlpha) throws MagickException { MagickImage image = new MagickImage(); BufferedImage buffered = ImageUtil.toBuffered(pImage, pAlpha ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_3BYTE_BGR); // Need to get data of sub raster, not the full data array, this is // just a convenient way Raster raster; if (buffered.getRaster().getParent() != null) { raster = buffered.getData(new Rectangle(buffered.getWidth(), buffered.getHeight())); } else { raster = buffered.getRaster(); } image.constituteImage(buffered.getWidth(), buffered.getHeight(), pAlpha ? "ABGR" : "BGR", ((DataBufferByte) raster.getDataBuffer()).getData()); return image; }
public Raster getData() { final WritableRaster raster = image.getRaster(); if(raster.getParent() != null) { // have to force a copy, otherwise we are breaking the RenderedImage contract just // like BufferedImage does (the PNGJ writer actually has special code to work // around that bug) return image.getData(new Rectangle(0, 0, raster.getWidth(), raster.getHeight())); } else { return raster; } }
public Raster getData() { final WritableRaster raster = image.getRaster(); if(raster.getParent() != null) { // have to force a copy, otherwise we are breaking the RenderedImage contract just // like BufferedImage does (the PNGJ writer actually has special code to work // around that bug) return image.getData(new Rectangle(0, 0, raster.getWidth(), raster.getHeight())); } else { return raster; } }
private static MagickImage rgbToMagic(BufferedImage pImage, boolean pAlpha) throws MagickException { MagickImage image = new MagickImage(); BufferedImage buffered = ImageUtil.toBuffered(pImage, pAlpha ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_3BYTE_BGR); // Need to get data of sub raster, not the full data array, this is // just a convenient way Raster raster; if (buffered.getRaster().getParent() != null) { raster = buffered.getData(new Rectangle(buffered.getWidth(), buffered.getHeight())); } else { raster = buffered.getRaster(); } image.constituteImage(buffered.getWidth(), buffered.getHeight(), pAlpha ? "ABGR" : "BGR", ((DataBufferByte) raster.getDataBuffer()).getData()); return image; }
public static void setImageIntPixels(BufferedImage bim, int x, int y, int width, int height, boolean allowDeoptimizingDirectRead, IntBuffer pixels) { WritableRaster raster = bim.getRaster(); if (allowDeoptimizingDirectRead && raster.getParent() == null && raster.getDataBuffer().getNumBanks() == 1) { DataBuffer b = bim.getRaster().getDataBuffer(); if (b instanceof DataBufferInt) { IntBuffer.wrap(((DataBufferInt)b).getData()).put(pixels); return; } } IntBuffer b = IntBuffer.allocate(width * height); b.put(pixels); b.rewind(); int[] array = b.array(); bim.setRGB(x, y, width, height, array, 0, width); } }
public static int[] getImageIntPixels(Image image, int x, int y, int width, int height, boolean allowDeoptimizingDirectRead) { if (image instanceof BufferedImage) { BufferedImage bim = (BufferedImage)image; WritableRaster raster = bim.getRaster(); if (allowDeoptimizingDirectRead && raster.getParent() == null && raster.getDataBuffer().getNumBanks() == 1) { DataBuffer b = bim.getRaster().getDataBuffer(); if (b instanceof DataBufferInt) { int[] array = ((DataBufferInt)b).getData(); return array; } } return bim.getRGB(x, y, width, height, null, 0, width); } PixelGrabber grabber = new PixelGrabber(image, x, y, width, height, true); try { grabber.grabPixels(); return (int[])grabber.getPixels(); } catch (InterruptedException ex) { throw new RuntimeException("Pixel read operation was interrupted", ex); } }
if (buffered.getRaster().getParent() != null) { raster = buffered.getData(new Rectangle(buffered.getWidth(), buffered.getHeight()));
if (buffered.getRaster().getParent() != null) { raster = buffered.getData(new Rectangle(buffered.getWidth(), buffered.getHeight()));
if (dstRaster != dstOut && dstOut.getParent() != dstRaster) { if (dstRaster instanceof WritableRaster && ((atile == null) || blendComposite)) {