List of usage examples for java.awt.image BufferedImage TYPE_INT_ARGB
int TYPE_INT_ARGB
To view the source code for java.awt.image BufferedImage TYPE_INT_ARGB.
Click Source Link
From source file:cognitivej.vision.overlay.builder.ImageOverlayBuilder.java
/** * Saves the base image to the disk.// ww w .j a va 2s .c om * * @param file - the file where the image will be saved * @return this */ @NotNull public ImageOverlayBuilder toDisk(@NotNull File file) { try { ImageIO.write(copy(bufferedImage, BufferedImage.TYPE_INT_ARGB), "png", file); } catch (IOException e) { throw new CognitiveException("Could not write to disk", e); } return this; }
From source file:it.units.malelab.ege.util.DUMapper.java
private static void saveImage(String fileName, boolean margin, int scale, double[][]... data) { BufferedImage bi = new BufferedImage(data[0].length * scale, data[0][0].length * scale, BufferedImage.TYPE_INT_ARGB); for (int y = 0; y < data[0].length; y++) { for (int x = 0; x < data[0][y].length; x++) { Color color;//from www. j ava2 s.c o m if (data.length == 1) { color = new Color((float) data[0][y][x], (float) data[0][y][x], (float) data[0][y][x], 1); } else { color = new Color((float) data[0][y][x], (float) data[1][y][x], data.length >= 3 ? (float) data[2][y][x] : 0, data.length >= 4 ? (float) data[3][y][x] : 1); } if (scale == 1) { bi.setRGB(y, x, color.getRGB()); } else { for (int ix = x * scale + (margin ? 1 : 0); ix < (x + 1) * scale - (margin ? 1 : 0); ix++) { for (int iy = y * scale + (margin ? 1 : 0); iy < (y + 1) * scale - (margin ? 1 : 0); iy++) { bi.setRGB(iy, ix, color.getRGB()); } } } } } try { ImageIO.write(bi, "PNG", new File(fileName)); } catch (IOException ex) { System.err.printf("Cannot save file \"%s\": %s", fileName, ex.getMessage()); } }
From source file:edu.ku.brc.specify.utilapps.sp5utils.Sp5Forms.java
public void generate() { BufferedImage bufImage = null; if (formFrame != null) { Component topComp = formFrame.getContentPane(); Rectangle rect = topComp.getBounds(); if (rect.width < 1 || rect.height < 1) { System.err.println("Can't create image. " + selectedForm.getTitle()); } else {//from w w w .ja v a 2 s. c om bufImage = new BufferedImage(rect.width, rect.height, (BufferedImage.TYPE_INT_ARGB)); Graphics2D g2 = bufImage.createGraphics(); topComp.paint(g2); g2.dispose(); } } if (formIndex < forms.size()) { selectedForm = forms.get(formIndex); showForm(); SwingUtilities.invokeLater(new Runnable() { public void run() { SwingUtilities.invokeLater(new Runnable() { public void run() { formFrame.pack(); formFrame.repaint(); } }); } }); } File dir = new File("conversions" + File.separator + namePair.second + "_6" + File.separator + "forms"); if (!dir.exists()) { dir.mkdirs(); } if (bufImage != null) { String fName = dir.getAbsolutePath() + File.separator + formName + ".png"; try { File imgFile = new File(fName); ImageIO.write(bufImage, "PNG", imgFile); } catch (Exception e) { edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount(); edu.ku.brc.exceptions.ExceptionTracker.getInstance().capture(ERDVisualizer.class, e); e.printStackTrace(); } } if (formIndex >= forms.size()) { SwingUtilities.invokeLater(new Runnable() { public void run() { SwingUtilities.invokeLater(new Runnable() { public void run() { if (formFrame != null) formFrame.setVisible(false); createIndex(); UIRegistry.showLocalizedMsg("Done"); } }); } }); } if (selectedForm != null) { formName = selectedForm.getFileName(); } }
From source file:nl.softwaredesign.exporter.ODTExportFormat.java
/** * TODO Move to utility class?// w w w .j a va2 s . c o m * Extract the content data (bytes) from the given image. * @param icon image to get bytes for * @param format desired format for image * @param background Color to use as background if transparency in image * @param width Desired width of the image in the byte array * @param height Desired width of the image in the byte array * @return the bytes of the image * @throws IOException */ private byte[] imageToBytes(ImageIcon icon, String format, Color background, int width, int height) throws IOException { Iterator writers = ImageIO.getImageWritersByFormatName(format); ImageWriter writer = (ImageWriter) writers.next(); ByteArrayOutputStream output = new ByteArrayOutputStream(); ImageOutputStream ios = ImageIO.createImageOutputStream(output); writer.setOutput(ios); BufferedImage img; if ("png".equalsIgnoreCase(format) || "gif".equalsIgnoreCase(format)) { img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); } else { img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); } WaitingObserver observer = new WaitingObserver(); if (!img.getGraphics().drawImage(icon.getImage(), 0, 0, width, height, background, observer)) { try { observer.waitForDone(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return new byte[0]; } } IIOMetadata metadata = writer.getDefaultImageMetadata(new ImageTypeSpecifier(img), writer.getDefaultWriteParam()); if (format.equalsIgnoreCase("jpg")) { Element tree = (Element) metadata.getAsTree("javax_imageio_jpeg_image_1.0"); Element jfif = (Element) tree.getElementsByTagName("app0JFIF").item(0); jfif.setAttribute("Xdensity", Integer.toString(72)); jfif.setAttribute("Ydensity", Integer.toString(72)); jfif.setAttribute("resUnits", "1"); metadata.setFromTree("javax_imageio_jpeg_image_1.0", tree); } else { double dotsPerMilli = 7.2 / 2.54; IIOMetadataNode horiz = new IIOMetadataNode("HorizontalPixelSize"); horiz.setAttribute("value", Double.toString(dotsPerMilli)); IIOMetadataNode vert = new IIOMetadataNode("VerticalPixelSize"); vert.setAttribute("value", Double.toString(dotsPerMilli)); IIOMetadataNode dim = new IIOMetadataNode("Dimension"); dim.appendChild(horiz); dim.appendChild(vert); IIOMetadataNode root = new IIOMetadataNode("javax_imageio_1.0"); root.appendChild(dim); metadata.mergeTree("javax_imageio_1.0", root); } writer.write(null, new IIOImage(img, null, metadata), null); return output.toByteArray(); }
From source file:com.siteview.ecc.report.xls.JRXlsExporter.java
protected void exportImage(JRPrintImage element, JRExporterGridCell gridCell, int colIndex, int rowIndex, int emptyCols) throws JRException { try {//from w w w . j a v a2s .c om int topPadding = Math.max(element.getLineBox().getTopPadding().intValue(), getImageBorderCorrection(element.getLineBox().getTopPen())); int leftPadding = Math.max(element.getLineBox().getLeftPadding().intValue(), getImageBorderCorrection(element.getLineBox().getLeftPen())); int bottomPadding = Math.max(element.getLineBox().getBottomPadding().intValue(), getImageBorderCorrection(element.getLineBox().getBottomPen())); int rightPadding = Math.max(element.getLineBox().getRightPadding().intValue(), getImageBorderCorrection(element.getLineBox().getRightPen())); //pngEncoder.setImage( null ); int availableImageWidth = element.getWidth() - leftPadding - rightPadding; availableImageWidth = availableImageWidth < 0 ? 0 : availableImageWidth; int availableImageHeight = element.getHeight() - topPadding - bottomPadding; availableImageHeight = availableImageHeight < 0 ? 0 : availableImageHeight; JRRenderable renderer = element.getRenderer(); if (renderer != null && availableImageWidth > 0 && availableImageHeight > 0) { if (renderer.getType() == JRRenderable.TYPE_IMAGE) { // Image renderers are all asked for their image data and dimension at some point. // Better to test and replace the renderer now, in case of lazy load error. renderer = JRImageRenderer.getOnErrorRendererForImageData(renderer, element.getOnErrorType()); if (renderer != null) { renderer = JRImageRenderer.getOnErrorRendererForDimension(renderer, element.getOnErrorType()); } } } else { renderer = null; } if (renderer != null) { int normalWidth = availableImageWidth; int normalHeight = availableImageHeight; Dimension2D dimension = renderer.getDimension(); if (dimension != null) { normalWidth = (int) dimension.getWidth(); normalHeight = (int) dimension.getHeight(); } float xalignFactor = 0f; switch (element.getHorizontalAlignment()) { case JRAlignment.HORIZONTAL_ALIGN_RIGHT: { xalignFactor = 1f; break; } case JRAlignment.HORIZONTAL_ALIGN_CENTER: { xalignFactor = 0.5f; break; } case JRAlignment.HORIZONTAL_ALIGN_LEFT: default: { xalignFactor = 0f; break; } } float yalignFactor = 0f; switch (element.getVerticalAlignment()) { case JRAlignment.VERTICAL_ALIGN_BOTTOM: { yalignFactor = 1f; break; } case JRAlignment.VERTICAL_ALIGN_MIDDLE: { yalignFactor = 0.5f; break; } case JRAlignment.VERTICAL_ALIGN_TOP: default: { yalignFactor = 0f; break; } } BufferedImage bi = new BufferedImage(element.getWidth(), element.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D grx = bi.createGraphics(); switch (element.getScaleImage()) { case JRImage.SCALE_IMAGE_CLIP: { int xoffset = (int) (xalignFactor * (availableImageWidth - normalWidth)); int yoffset = (int) (yalignFactor * (availableImageHeight - normalHeight)); Shape oldClipShape = grx.getClip(); grx.clip(new Rectangle(leftPadding, topPadding, availableImageWidth, availableImageHeight)); try { renderer.render(grx, new Rectangle(xoffset + leftPadding, yoffset + topPadding, normalWidth, normalHeight)); } finally { grx.setClip(oldClipShape); } break; } case JRImage.SCALE_IMAGE_FILL_FRAME: { renderer.render(grx, new Rectangle(leftPadding, topPadding, availableImageWidth, availableImageHeight)); break; } case JRImage.SCALE_IMAGE_RETAIN_SHAPE: default: { if (element.getHeight() > 0) { double ratio = (double) normalWidth / (double) normalHeight; if (ratio > (double) availableImageWidth / (double) availableImageHeight) { normalWidth = availableImageWidth; normalHeight = (int) (availableImageWidth / ratio); } else { normalWidth = (int) (availableImageHeight * ratio); normalHeight = availableImageHeight; } int xoffset = leftPadding + (int) (xalignFactor * (availableImageWidth - normalWidth)); int yoffset = topPadding + (int) (yalignFactor * (availableImageHeight - normalHeight)); renderer.render(grx, new Rectangle(xoffset, yoffset, normalWidth, normalHeight)); } break; } } short mode = backgroundMode; short backcolor = whiteIndex; if (!isIgnoreCellBackground && gridCell.getCellBackcolor() != null) { mode = HSSFCellStyle.SOLID_FOREGROUND; backcolor = getNearestColor(gridCell.getCellBackcolor()).getIndex(); } short forecolor = getNearestColor(element.getLineBox().getPen().getLineColor()).getIndex(); if (element.getMode() == JRElement.MODE_OPAQUE) { backcolor = getNearestColor(element.getBackcolor()).getIndex(); } HSSFCellStyle cellStyle = getLoadedCellStyle(mode, backcolor, HSSFCellStyle.ALIGN_LEFT, HSSFCellStyle.VERTICAL_TOP, (short) 0, getLoadedFont(getDefaultFont(), forecolor, null, getLocale()), gridCell); createMergeRegion(gridCell, colIndex, rowIndex, cellStyle); cell = row.createCell(colIndex); // cell.setCellStyle(cellStyle); HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0, (short) colIndex, rowIndex, (short) (colIndex + gridCell.getColSpan()), rowIndex + (isCollapseRowSpan ? 1 : gridCell.getRowSpan())); anchor.setAnchorType(2); //pngEncoder.setImage(bi); //int imgIndex = workbook.addPicture(pngEncoder.pngEncode(), HSSFWorkbook.PICTURE_TYPE_PNG); int imgIndex = workbook.addPicture( JRImageLoader.loadImageDataFromAWTImage(bi, JRRenderable.IMAGE_TYPE_PNG), HSSFWorkbook.PICTURE_TYPE_PNG); patriarch.createPicture(anchor, imgIndex); } } catch (Exception ex) { throw new JRException("The cell cannot be added", ex); } catch (Error err) { throw new JRException("The cell cannot be added", err); } }
From source file:it.units.malelab.ege.util.DUMapper.java
private static void modifyMap(String fileName, float bins) throws IOException { Color[][] colorMap = new Color[3][]; colorMap[0] = new Color[] { fromCode("000000"), fromCode("b36600"), fromCode("f3b300") }; colorMap[1] = new Color[] { fromCode("376387"), fromCode("b3b3b3"), fromCode("f3e6b3") }; colorMap[2] = new Color[] { fromCode("509dc2"), fromCode("b4d3e1"), fromCode("f3f3f3") }; BufferedImage inImage = ImageIO.read(new File(fileName)); BufferedImage outRGDImage = new BufferedImage(inImage.getWidth(), inImage.getHeight(), BufferedImage.TYPE_INT_ARGB); BufferedImage outCMImage = new BufferedImage(inImage.getWidth(), inImage.getHeight(), BufferedImage.TYPE_INT_ARGB); for (int x = 0; x < inImage.getWidth(); x++) { for (int y = 0; y < inImage.getHeight(); y++) { Color inColor = new Color(inImage.getRGB(x, y)); Color outColor = new Color( Math.min((float) Math.floor((float) inColor.getRed() / 255f * bins) / (bins - 1), 1f), Math.min((float) Math.floor((float) inColor.getGreen() / 255f * bins) / (bins - 1), 1f), 0); outRGDImage.setRGB(x, y, outColor.getRGB()); int cmRIndex = (int) Math.min((int) Math.floor((float) inColor.getRed() / 255f * 3), 2); int cmGIndex = (int) Math.min((int) Math.floor((float) inColor.getGreen() / 255f * 3), 2); outColor = colorMap[cmRIndex][cmGIndex]; outCMImage.setRGB(x, y, outColor.getRGB()); }/*from www . j av a2 s .c om*/ } ImageIO.write(outRGDImage, "PNG", new File(fileName.replace(".png", String.format(".rgbdisc%d.png", (int) bins)))); ImageIO.write(outCMImage, "PNG", new File(fileName.replace(".png", ".cm.png"))); }
From source file:com.rapidminer.gui.new_plotter.engine.jfreechart.PlotInstanceLegendCreator.java
private static Paint createTransparentCheckeredPaint(Color color, int checkerSize) { int s = checkerSize; BufferedImage bufferedImage = new BufferedImage(2 * s, 2 * s, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = bufferedImage.createGraphics(); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, // Anti-alias! RenderingHints.VALUE_ANTIALIAS_ON); Color c1 = DataStructureUtils.setColorAlpha(color, (int) (color.getAlpha() * .8)); Color c2 = DataStructureUtils.setColorAlpha(color, (int) (color.getAlpha() * .2)); g2.setStroke(new BasicStroke(0)); g2.setPaint(c2);//from w w w. j ava 2 s . c o m g2.setColor(c2); g2.fillRect(0, 0, s, s); g2.fillRect(s, s, s, s); g2.setPaint(c1); g2.setColor(c1); g2.fillRect(0, s, s, s); g2.fillRect(s, 0, s, s); // paint with the texturing brush Rectangle2D rect = new Rectangle2D.Double(0, 0, 2 * s, 2 * s); return new TexturePaint(bufferedImage, rect); }
From source file:AppSpringLayout.java
private BufferedImage toBufferedImage(Image imageToGetBuffered) { if (imageToGetBuffered instanceof BufferedImage) { return (BufferedImage) imageToGetBuffered; }//from w ww . j a va 2s . c om // Create a buffered image with transparency BufferedImage bimage = new BufferedImage(imageToGetBuffered.getWidth(null), imageToGetBuffered.getHeight(null), BufferedImage.TYPE_INT_ARGB); return bimage; }
From source file:TextureByReference.java
static void printType(BufferedImage bImage) { int type = bImage.getType(); if (type == BufferedImage.TYPE_4BYTE_ABGR) { System.out.println("TYPE_4BYTE_ABGR"); } else if (type == BufferedImage.TYPE_INT_ARGB) { System.out.println("TYPE_INT_ARGB"); } else if (type == BufferedImage.TYPE_3BYTE_BGR) { System.out.println("TYPE_3BYTE_BGR"); } else if (type == BufferedImage.TYPE_CUSTOM) { System.out.println("TYPE_CUSTOM"); } else// w w w . j a va 2 s. c om System.out.println(type); }
From source file:lucee.runtime.img.Image.java
public static void writeOutGif(BufferedImage src, OutputStream os) throws IOException { BufferedImage dst = new BufferedImage(src.getWidth(), src.getHeight(), BufferedImage.TYPE_INT_ARGB); QuantizeFilter filter = new QuantizeFilter(); filter.setSerpentine(true);/*from w w w . ja va 2s .c o m*/ filter.setDither(true); //filter.setNumColors(8); filter.filter(src, dst); //image(Quantizer.quantize(image(), 8)); try { GifEncoder enc = new GifEncoder(dst); enc.Write(os); os.flush(); } catch (AWTException e) { throw new IOException(e.getMessage()); } }