List of usage examples for java.awt.image BufferedImage TYPE_3BYTE_BGR
int TYPE_3BYTE_BGR
To view the source code for java.awt.image BufferedImage TYPE_3BYTE_BGR.
Click Source Link
From source file:org.codice.alliance.plugin.nitf.NitfPostIngestPlugin.java
private byte[] renderToJpeg2k(final BufferedImage bufferedImage) throws IOException { BufferedImage imageToCompress = bufferedImage; if (bufferedImage.getColorModel().getNumComponents() == ARGB_COMPONENT_COUNT) { imageToCompress = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_3BYTE_BGR); Graphics2D g = imageToCompress.createGraphics(); g.drawImage(bufferedImage, 0, 0, null); }/* w w w .j a va2s. c o m*/ ByteArrayOutputStream os = new ByteArrayOutputStream(); J2KImageWriter writer = new J2KImageWriter(new J2KImageWriterSpi()); J2KImageWriteParam writeParams = (J2KImageWriteParam) writer.getDefaultWriteParam(); writeParams.setLossless(false); writeParams.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); writeParams.setCompressionType("JPEG2000"); writeParams.setCompressionQuality(0.0f); ImageOutputStream ios = new MemoryCacheImageOutputStream(os); writer.setOutput(ios); writer.write(null, new IIOImage(imageToCompress, null, null), writeParams); writer.dispose(); ios.close(); return os.toByteArray(); }
From source file:org.fao.geonet.services.thumbnail.Set.java
public BufferedImage getImage(String inFile) throws IOException { String lcFile = inFile.toLowerCase(); if (lcFile.endsWith(".tif") || lcFile.endsWith(".tiff")) { //--- load the TIFF/GEOTIFF file format Image image = getTiffImage(inFile); int width = image.getWidth(null); int height = image.getHeight(null); BufferedImage bimg = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); Graphics2D g = bimg.createGraphics(); g.drawImage(image, 0, 0, null);//from w ww. j av a 2 s .c o m g.dispose(); return bimg; } return ImageIO.read(new File(inFile)); }
From source file:com.aimluck.eip.fileupload.util.FileuploadUtils.java
/** * ?????????/*from ww w. j a va 2 s . c o m*/ * * @param imgfile * @param dim * @return */ public static BufferedImage shrinkImage(BufferedImage imgfile, int width, int height) { int iwidth = imgfile.getWidth(); int iheight = imgfile.getHeight(); double ratio = Math.min((double) width / (double) iwidth, (double) height / (double) iheight); int shrinkedWidth = (int) (iwidth * ratio); int shrinkedHeight = (int) (iheight * ratio); // ?? Image targetImage = imgfile.getScaledInstance(shrinkedWidth, shrinkedHeight, Image.SCALE_AREA_AVERAGING); BufferedImage tmpImage = new BufferedImage(targetImage.getWidth(null), targetImage.getHeight(null), BufferedImage.TYPE_3BYTE_BGR); Graphics2D g = tmpImage.createGraphics(); g.setColor(Color.WHITE); g.fillRect(0, 0, shrinkedWidth, shrinkedHeight); g.drawImage(targetImage, 0, 0, null); return tmpImage; }
From source file:org.codice.alliance.imaging.chip.transformer.CatalogOutputAdapter.java
private void setImageDataFields(BufferedImage chip, ImageSegment chipImageSegment) throws IOException { int[] componentSizes = chip.getColorModel().getComponentSize(); int pixelSize = chip.getColorModel().getPixelSize(); switch (chip.getType()) { case BufferedImage.TYPE_BYTE_GRAY: case BufferedImage.TYPE_USHORT_GRAY: case BufferedImage.TYPE_BYTE_BINARY: setMonochrome(chipImageSegment, componentSizes[0], pixelSize); break;/*from ww w .j ava 2 s . c o m*/ case BufferedImage.TYPE_3BYTE_BGR: case BufferedImage.TYPE_INT_BGR: setImageFieldHelper(chipImageSegment, PixelValueType.INTEGER, ImageRepresentation.RGBTRUECOLOUR, componentSizes[0], pixelSize / 3, new String[] { "B", "G", "R" }); break; case BufferedImage.TYPE_4BYTE_ABGR: case BufferedImage.TYPE_4BYTE_ABGR_PRE: setImageFieldHelper(chipImageSegment, PixelValueType.INTEGER, ImageRepresentation.RGBTRUECOLOUR, componentSizes[0], pixelSize / 4, new String[] { "B", "G", "R" }); break; case BufferedImage.TYPE_INT_ARGB_PRE: case BufferedImage.TYPE_INT_ARGB: setARGB(chipImageSegment, componentSizes[0], pixelSize); break; case BufferedImage.TYPE_INT_RGB: case BufferedImage.TYPE_USHORT_555_RGB: setRGB(chipImageSegment, componentSizes[0], pixelSize); break; case BufferedImage.TYPE_CUSTOM: if (componentSizes.length == 1) { setMonochrome(chipImageSegment, componentSizes[0], pixelSize); } else if (componentSizes.length == 3) { setRGB(chipImageSegment, componentSizes[0], pixelSize); } else if (componentSizes.length == 4) { setARGB(chipImageSegment, componentSizes[0], pixelSize); } else { throw new IOException( "unsupported color model for image type CUSTOM, only monochrome and 32-bit argb are supported"); } break; case BufferedImage.TYPE_BYTE_INDEXED: setImageFieldHelper(chipImageSegment, PixelValueType.INTEGER, ImageRepresentation.RGBLUT, componentSizes[0], pixelSize, new String[] { "LU" }); break; case BufferedImage.TYPE_USHORT_565_RGB: // don't know how to handle this one, since the bitsPerPixelPerBand is not consistent break; default: throw new IOException("unsupported image data type: type=" + chip.getType()); } }
From source file:io.selendroid.standalone.android.impl.AbstractDevice.java
public byte[] takeScreenshot() throws AndroidDeviceException { if (device == null) { throw new AndroidDeviceException("Device not accessible via ddmlib."); }/*from w w w .j a v a 2s. co m*/ RawImage rawImage; try { rawImage = device.getScreenshot(); } catch (IOException ioe) { throw new AndroidDeviceException("Unable to get frame buffer: " + ioe.getMessage()); } catch (TimeoutException e) { log.log(Level.SEVERE, e.getMessage(), e); throw new AndroidDeviceException(e.getMessage()); } catch (AdbCommandRejectedException e) { log.log(Level.SEVERE, e.getMessage(), e); throw new AndroidDeviceException(e.getMessage()); } // device/adb not available? if (rawImage == null) return null; BufferedImage image = new BufferedImage(rawImage.width, rawImage.height, BufferedImage.TYPE_3BYTE_BGR); int index = 0; int IndexInc = rawImage.bpp >> 3; for (int y = 0; y < rawImage.height; y++) { for (int x = 0; x < rawImage.width; x++) { image.setRGB(x, y, rawImage.getARGB(index)); index += IndexInc; } } return toByteArray(image); }
From source file:TextureByReference.java
public void actionPerformed(ActionEvent e) { Object o = e.getSource();/*from w w w. j ava 2 s. c om*/ // for the animation button if (o == animationB) { if (animate.getEnable()) { animate.setEnable(false); animationB.setText("start animation"); } else { animate.setEnable(true); animationB.setText(" stop animation "); } } // for the texByRef button else if (o == texByRef && texByRef.isSelected()) { animate.setByReference(true); } // texByCopy button else if (o == texByCopy && texByCopy.isSelected()) { animate.setByReference(false); } // yUp button else if (o == yUp && yUp.isSelected()) { animate.setYUp(true); } // ydown button else if (o == yDown && yDown.isSelected()) { animate.setYUp(false); } //geomByRef button else if (o == geomByRef) { tetra.setByReference(true); } // geomByCopy button else if (o == geomByCopy) { tetra.setByReference(false); } // TYPE_INT_ARGB else if (o == imgIntARGB) { animate.setImageType(BufferedImage.TYPE_INT_ARGB); } // TYPE_4BYTE_ABGR else if (o == img4ByteABGR) { animate.setImageType(BufferedImage.TYPE_4BYTE_ABGR); } // TYPE_3BYTE_BGR else if (o == img3ByteBGR) { animate.setImageType(BufferedImage.TYPE_3BYTE_BGR); } // TYPE_CUSTOM RGBA else if (o == imgCustomRGBA) { animate.setImageTypeCustomRGBA(); } // TYPE_CUSTOM RGB else if (o == imgCustomRGB) { animate.setImageTypeCustomRGB(); } }
From source file:org.squale.squaleweb.applicationlayer.action.export.ppt.PPTData.java
/** * Convert a html code to an image/*from w ww.j a v a 2 s . co m*/ * * @param html html to convert * @return html converted to png * @throws IOException if error * @throws PPTGeneratorException */ protected byte[] htmlToImage(String html) throws IOException, PPTGeneratorException { try { JEditorPane editor = new JEditorPane(); editor.setContentType("text/html"); editor.setText(html); editor.setSize(editor.getPreferredSize()); editor.addNotify(); LOGGER.debug("Panel is built"); BufferedImage bufferSave = new BufferedImage(editor.getPreferredSize().width, editor.getPreferredSize().height, BufferedImage.TYPE_3BYTE_BGR); Graphics g = bufferSave.getGraphics(); g.setColor(Color.WHITE); g.fillRect(0, 0, editor.getPreferredSize().width, editor.getPreferredSize().height); editor.paint(g); LOGGER.debug("graphics is drawn"); ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(bufferSave, "png", out); return out.toByteArray(); } catch (HeadlessException e) { LOGGER.error("X Server no initialized or -Djava.awt.headless=true not set !"); throw new PPTGeneratorException("X Server no initialized or -Djava.awt.headless=true not set !"); } }
From source file:org.squale.squaleweb.applicationlayer.action.export.ppt.PPTData.java
/** * Add an image with a html code without change its dimension * //from w ww.j a v a 2s . c o m * @param slideToSet slide to set * @param html html code * @param x horizontal position * @param y vertical position * @throws IOException if error * @throws PPTGeneratorException */ protected void addHtmlPicture(Slide slideToSet, String html, int x, int y) throws IOException, PPTGeneratorException { try { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); if (!ge.isHeadlessInstance()) { LOGGER.warn("Runtime is not configured for supporting graphiv manipulation !"); } JEditorPane editor = new JEditorPane(); editor.setContentType("text/html"); editor.setText(html); LOGGER.debug("Editor pane is built"); editor.setSize(editor.getPreferredSize()); editor.addNotify(); // Serveur X requis LOGGER.debug("Panel rendering is done"); BufferedImage bufferSave = new BufferedImage(editor.getPreferredSize().width, editor.getPreferredSize().height, BufferedImage.TYPE_3BYTE_BGR); Graphics g = bufferSave.getGraphics(); g.setColor(Color.WHITE); g.fillRect(0, 0, editor.getPreferredSize().width, editor.getPreferredSize().height); editor.paint(g); LOGGER.debug("graphics is drawn"); ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(bufferSave, "png", out); LOGGER.debug("image is written"); addPicture(slideToSet, out.toByteArray(), new Rectangle(x, y, editor.getPreferredSize().width, editor.getPreferredSize().height)); LOGGER.debug("image is added"); } catch (HeadlessException e) { LOGGER.error("X Server no initialized or -Djava.awt.headless=true not set !"); throw new PPTGeneratorException("X Server no initialized or -Djava.awt.headless=true not set !"); } }
From source file:com.occamlab.te.parsers.ImageParser.java
private static Node processFrame(ImageReader reader, int frame, NodeList nodes, PrintWriter logger) throws Exception { if (nodes.getLength() == 0) { return null; }/*from ww w .j a v a 2s .com*/ String formatName = reader.getFormatName().toLowerCase(); // 2011-09-08 // PwD BufferedImage image = reader.read(frame); for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { // System.out.println(node.getLocalName()); if (node.getLocalName().equals("type")) { node.setTextContent(formatName); // 2011-09-08 PwD was // reader.getFormatName().toLowerCase() } else if (node.getLocalName().equals("height")) { node.setTextContent(Integer.toString(image.getHeight())); } else if (node.getLocalName().equals("width")) { node.setTextContent(Integer.toString(image.getWidth())); } else if (node.getLocalName().equals("metadata")) { try { // 2011--08-23 PwD IIOMetadata metadata = reader.getImageMetadata(frame); if (metadata != null) { String format = ((Element) node).getAttribute("format"); if (format.length() == 0) { format = metadata.getNativeMetadataFormatName(); } Node tree = metadata.getAsTree(format); TransformerFactory tf = TransformerFactory.newInstance(); Transformer t = tf.newTransformer(); t.transform(new DOMSource(tree), new DOMResult(node)); } } catch (javax.imageio.IIOException e) { // 2011--08-23 PwD DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.newDocument(); String format = reader.getFormatName().toLowerCase(); String formatEltName = "javax_imageio_" + format + "_1.0"; Element formatElt = doc.createElement(formatEltName); TransformerFactory tf = TransformerFactory.newInstance(); Transformer t = tf.newTransformer(); t.transform(new DOMSource(formatElt), new DOMResult(node)); } } else if (node.getLocalName().equals("model")) { int imagetype = -1; String model = ((Element) node).getAttribute("value"); if (model.equals("MONOCHROME")) { imagetype = BufferedImage.TYPE_BYTE_BINARY; } else if (model.equals("GRAY")) { imagetype = BufferedImage.TYPE_BYTE_GRAY; } else if (model.equals("RGB")) { imagetype = BufferedImage.TYPE_3BYTE_BGR; } else if (model.equals("ARGB")) { imagetype = BufferedImage.TYPE_4BYTE_ABGR; } else { model = "CUSTOM"; } ((Element) node).setAttribute("value", model); BufferedImage buffImage = image; if (image.getType() != imagetype && imagetype != -1) { buffImage = new BufferedImage(image.getWidth(), image.getHeight(), imagetype); Graphics2D g2 = buffImage.createGraphics(); ImageTracker tracker = new ImageTracker(); boolean done = g2.drawImage(image, 0, 0, tracker); if (!done) { while (!tracker.done) { sleep(50); } } } processBufferedImage(buffImage, formatName, node.getChildNodes()); } else if (node.getLocalName().equals("transparency")) { // 2011-08-24 // PwD int transparency = image.getTransparency(); String transparencyName = null; switch (transparency) { case Transparency.OPAQUE: { transparencyName = "Opaque"; break; } case Transparency.BITMASK: { transparencyName = "Bitmask"; break; } case Transparency.TRANSLUCENT: { transparencyName = "Translucent"; break; } default: { transparencyName = "Unknown"; } } node.setTextContent(transparencyName); } else if (node.getLocalName().equals("base64Data")) { // 2011-09-08 // PwD String base64Data = getBase64Data(image, formatName, node); node.setTextContent(base64Data); } else { logger.println("ImageParser Error: Invalid tag " + node.getNodeName()); } } } return null; }
From source file:lucee.runtime.img.Image.java
public void threeBBger() throws ExpressionException { BufferedImage img = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_3BYTE_BGR); Graphics2D graphics = img.createGraphics(); graphics.drawImage(image(), new AffineTransformOp(AffineTransform.getTranslateInstance(0.0, 0.0), 1), 0, 0); graphics.dispose();//from ww w. ja v a2 s .co m image(img); }