public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform) { BufferedImage bufferedimage = new BufferedImage(renderedimage.getColorModel(), renderedimage.getData().createCompatibleWritableRaster(), false, null); bufferedimage.setData(renderedimage.getData()); drawImage(bufferedimage, affinetransform, null); }
public WritableRaster createCompatibleDestRaster(Raster src) { return src.createCompatibleWritableRaster(); }
public WritableRaster createCompatibleDestRaster(Raster src) { return src.createCompatibleWritableRaster(width, height); }
public WritableRaster createCompatibleDestRaster(final Raster src) { // WHAT?? This code no longer work for JRE 7u45+... JRE bug?! // Raster child = src.createChild(0, 0, src.getWidth(), src.getHeight(), 0, 0, new int[] {0, 1, 2}); // return child.createCompatibleWritableRaster(); // Throws an exception complaining about the scanline stride from the verify() method // This is a workaround for the above code that no longer works. // It wil use 25% more memory, but it seems to work... WritableRaster raster = src.createCompatibleWritableRaster(); return raster.createWritableChild(0, 0, src.getWidth(), src.getHeight(), 0, 0, new int[] {0, 1, 2}); }
/** Sets raster and sampleModel */ private void allocateRaster(boolean inverted) { final int value = inverted ? 1 : 0; WritableRaster result; if ((tileWidth != tileHeight) || (value == 0)) { result = buildSolidRaster(tileWidth, tileHeight, value); } else { Raster template = getSolidRaster(tileWidth, tileHeight, value); result = template.createCompatibleWritableRaster(); byte[] src = ((DataBufferByte) template.getDataBuffer()).getData(); byte[] dst = ((DataBufferByte) result.getDataBuffer()).getData(); System.arraycopy(src, 0, dst, 0, src.length); } raster = result; }
private WritableRaster fromBGRtoRGB(Raster raster) { WritableRaster writableRaster = raster.createCompatibleWritableRaster(); int width = raster.getWidth(); int height = raster.getHeight(); int w3 = width * 3; int[] tab = new int[w3]; //BEWARE: handling the full image at a time is slower than one line at a time for (int y = 0; y < height; y++) { raster.getPixels(0, y, width, 1, tab); for (int off = 0; off < w3; off += 3) { int tmp = tab[off]; tab[off] = tab[off + 2]; tab[off + 2] = tmp; } writableRaster.setPixels(0, y, width, 1, tab); } return writableRaster; }
/** * Gets pixel data of an <code>RenderedImage</code> object. * * @param image an <code>RenderedImage</code> object * @return a byte buffer of pixel data */ public static ByteBuffer getImageByteBuffer(RenderedImage image) { ColorModel cm = image.getColorModel(); WritableRaster wr = image.getData().createCompatibleWritableRaster(image.getWidth(), image.getHeight()); image.copyData(wr); BufferedImage bi = new BufferedImage(cm, wr, cm.isAlphaPremultiplied(), null); return convertImageData(bi); }
WritableRaster dest = src.createCompatibleWritableRaster();
raster = data.createCompatibleWritableRaster(); raster = pOriginal.copyData(raster);
private WritableRaster fromYCCKtoCMYK(Raster raster) WritableRaster writableRaster = raster.createCompatibleWritableRaster();
private WritableRaster fromYCbCrtoCMYK(Raster raster) WritableRaster writableRaster = raster.createCompatibleWritableRaster();
final WritableRaster rowRaster = shift != 0 ? tile.createCompatibleWritableRaster(tile.getWidth(), 1) : null; final DataBuffer rowBuffer = shift != 0 ? rowRaster.getDataBuffer() : null;
Raster raster = ...; // Your raster ColorModel colorModel = ...; // A suitable color model (see comment section) WritableRaster writableRaster = raster.createCompatibleWritableRaster(); writableRaster.setDataElements(0, 0, raster); BufferedImage image = new BufferedImage(colorModel, writableRaster, colorModel.isAlphaPremultiplied(), null);
public WritableRaster createCompatibleDestRaster(final Raster src) { // WHAT?? This code no longer work for JRE 7u45+... JRE bug?! // Raster child = src.createChild(0, 0, src.getWidth(), src.getHeight(), 0, 0, new int[] {0, 1, 2}); // return child.createCompatibleWritableRaster(); // Throws an exception complaining about the scanline stride from the verify() method // This is a workaround for the above code that no longer works. // It wil use 25% more memory, but it seems to work... WritableRaster raster = src.createCompatibleWritableRaster(); return raster.createWritableChild(0, 0, src.getWidth(), src.getHeight(), 0, 0, new int[] {0, 1, 2}); }
public WritableRaster createCompatibleDestRaster(Raster src){ checkCompatible(src.getSampleModel()); // Src Raster is OK: create a similar Raster for destination. return src.createCompatibleWritableRaster(); }
public WritableRaster createCompatibleDestRaster(Raster src){ checkCompatible(src.getSampleModel()); // Src Raster is OK: create a similar Raster for destination. return src.createCompatibleWritableRaster(); }
public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform) { BufferedImage bufferedimage = new BufferedImage(renderedimage.getColorModel(), renderedimage.getData().createCompatibleWritableRaster(), false, null); bufferedimage.setData(renderedimage.getData()); drawImage(bufferedimage, affinetransform, null); }
public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform) { BufferedImage bufferedimage = new BufferedImage(renderedimage.getColorModel(), renderedimage.getData().createCompatibleWritableRaster(), false, null); bufferedimage.setData(renderedimage.getData()); drawImage(bufferedimage, affinetransform, null); }
public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform) { BufferedImage bufferedimage = new BufferedImage(renderedimage.getColorModel(), renderedimage.getData().createCompatibleWritableRaster(), false, null); bufferedimage.setData(renderedimage.getData()); drawImage(bufferedimage, affinetransform, null); }
public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform) { BufferedImage bufferedimage = new BufferedImage(renderedimage.getColorModel(), renderedimage.getData().createCompatibleWritableRaster(), false, null); bufferedimage.setData(renderedimage.getData()); drawImage(bufferedimage, affinetransform, null); }