/** * Returns the current image as a buffered image. * * @return The buffered image. * @see #getRenderedImage * @see #getPlanarImage * @see #getRenderedOperation * @see #getImageAsROI * @since 2.5 */ public final BufferedImage getBufferedImage() { if (image instanceof BufferedImage) { return (BufferedImage) image; } else { return getPlanarImage().getAsBufferedImage(); } }
/** * Same as {@link #read(Object)} but ensures the result is a {@link BufferedImage}, eventually * transforming it if needs be. Callers that can deal with {@link RenderedImage} should use the * other method for efficiency sake. * * @return A image * @throws IOException */ public static BufferedImage readBufferedImage(Object input) throws IOException { RenderedImage ri = ImageIOExt.read(input); if (ri == null) { return null; } else if (ri instanceof BufferedImage) { return (BufferedImage) ri; } else { return PlanarImage.wrapRenderedImage(ri).getAsBufferedImage(); } }
private BufferedImage readImage2(byte[] imageBytes) throws IOException { SeekableStream stream = new ByteArraySeekableStream(imageBytes); String decoderName = null; for (String dn : ImageCodec.getDecoderNames(stream)) { decoderName = dn; break; } ImageDecoder decoder = ImageCodec.createImageDecoder(decoderName, stream, null); PlanarImage img = PlanarImage.wrapRenderedImage(decoder.decodeAsRenderedImage()); return img.getAsBufferedImage(); }
buffImage = img.getAsBufferedImage();
/** * Fallback Method, in some jre implementations, ImageIO.read(InputStream in) returns null. If * this happens, this method is called, which is not so efficient but it works * * @param imageBytes * @return * @throws IOException */ private BufferedImage readImage2(byte[] imageBytes) throws IOException { SeekableStream stream = new ByteArraySeekableStream(imageBytes); String decoderName = null; for (String dn : ImageCodec.getDecoderNames(stream)) { decoderName = dn; break; } ImageDecoder decoder = ImageCodec.createImageDecoder(decoderName, stream, null); PlanarImage img = PlanarImage.wrapRenderedImage(decoder.decodeAsRenderedImage()); return img.getAsBufferedImage(); } }
/** * Forces the image to start in the origin and have a rgb/rbga/gray/gray+alpha structure * * @param image1 * @return */ private RenderedImage normalizeImage(RenderedImage image1) { image1 = new ImageWorker(image1) .forceColorSpaceRGB() .forceComponentColorModel() .getRenderedImage(); if (image1.getMinX() != 0 || image1.getMinY() != 0) { image1 = PlanarImage.wrapRenderedImage(image1).getAsBufferedImage(); } return image1; }
int numPages = decoder.getNumPages(); for(int j = 0; j < numPages; j++) { PlanarImage op = new NullOpImage(decoder.decodeAsRenderedImage(j), null, null, OpImage.OP_IO_BOUND); images.add(op.getAsBufferedImage()); }
bimg = pimage.getAsBufferedImage(null, cm);
PlanarImage.wrapRenderedImage(sourceImage).getAsBufferedImage();
BufferedImage image[] = new BufferedImage[numImages]; for (int i = 0; i < numImages; i++) { SeekableStream ss = new FileSeekableStream(input_dir + file[i]); ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", ss, null); PlanarImage op = new NullOpImage(decoder.decodeAsRenderedImage(0), null, null, OpImage.OP_IO_BOUND); image[i] = op.getAsBufferedImage(); }
/******************************************************************************************************************* * * {@inheritDoc} * ******************************************************************************************************************/ @Nonnull @Override protected RenderedImage toRenderedImageForSerialization() { return getPlanarImage().getAsBufferedImage(); }
@Override protected PlanarImage execute (final ConvertToBufferedImageOp operation, final EditableImage image, final PlanarImage planarImage) { operation.setBufferedImage(planarImage.getAsBufferedImage()); return planarImage; } }
/******************************************************************************* * * @inheritDoc * ******************************************************************************/ protected PlanarImage execute (final ConvertToBufferedImageOp operation, final EditableImage image, final PlanarImage planarImage) { operation.setBufferedImage(planarImage.getAsBufferedImage()); return planarImage; } }
private BufferedImage toBufferedImage(RenderedImage image) { BufferedImage frame; if (image instanceof BufferedImage) { frame = (BufferedImage) image; } else { frame = PlanarImage.wrapRenderedImage(image).getAsBufferedImage(); } return frame; }
PlanarImage pi = PlanarImage.wrapRenderedImage(image); BufferedImage bi = pi.getAsBufferedImage(); AffineTransform at = new AffineTransform(); at.translate(-(image.getWidth() - image.getHeight()) / 2, (image.getWidth() - image.getHeight()) / 2); at.rotate(Math.toRadians(90),bi.getWidth()/2,bi.getHeight() / 2); AffineTransformOp opRotated = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR); image = opRotated.filter(bi, null);
PlanarImage pi = PlanarImage.wrapRenderedImage(image); BufferedImage bi = pi.getAsBufferedImage(); AffineTransform at = new AffineTransform(); at.translate(-(image.getWidth() - image.getHeight()) / 2, (image.getWidth() - image.getHeight()) / 2); at.rotate(Math.toRadians(90),bi.getWidth()/2,bi.getHeight() / 2); AffineTransformOp opRotated = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR); image = opRotated.filter(bi, null);
private void writeTiles(File outputLevelDir, String tileFormat, PlanarImage image, int tileWidth, int tileHeight, int numXTiles, int numYTiles) { for (int tileY = 0; tileY < numYTiles; tileY++) { for (int tileX = 0; tileX < numXTiles; tileX++) { final int x = tileX * tileWidth; final int y = tileY * tileHeight; Rectangle region = new Rectangle(x, y, tileWidth, tileHeight); BufferedImage bufferedImage = image.getAsBufferedImage(region, null); final String baseName = tileX + "-" + tileY + "." + tileFormat; FileStoreDescriptor.create(bufferedImage, new File(outputLevelDir, baseName).getPath(), tileFormat, null, false, null); } } }
/******************************************************************************* * * ******************************************************************************/ protected RenderedImage toRenderedImageForSerialization() { return getPlanarImage().getAsBufferedImage(); }
float brightenFactor = 1.2f PlanarImage img=JAI.create("fileload","C:\\aimages\\blue_water.jpg"); BufferedImage image = img.getAsBufferedImage(); RescaleOp op = new RescaleOp(brightenFactor, 0, null); image = op.filter(image, image);
static private final BufferedImage openTIFF(final String path) throws Exception { /* final RenderedImage ri = ImageCodec.createImageDecoder("TIFF", new File(path), new TIFFDecodeParam()).decodeAsRenderedImage(); final PlanarImage pi = PlanarImage.wrapRenderedImage(ri); final BufferedImage img = pi.getAsBufferedImage(); */ return PlanarImage.wrapRenderedImage(ImageCodec.createImageDecoder("TIFF", new File(path), new TIFFDecodeParam()).decodeAsRenderedImage()).getAsBufferedImage(); }