List of usage examples for java.awt Graphics drawImage
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer);
From source file:SWTUtils.java
/** * Converts an AWT image to SWT.//from ww w . j a v a2s . c o m * * @param image the image (<code>null</code> not permitted). * * @return Image data. */ public static ImageData convertAWTImageToSWT(Image image) { if (image == null) { throw new IllegalArgumentException("Null 'image' argument."); } int w = image.getWidth(null); int h = image.getHeight(null); if (w == -1 || h == -1) { return null; } BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); Graphics g = bi.getGraphics(); g.drawImage(image, 0, 0, null); g.dispose(); return convertToSWT(bi); }
From source file:Main.java
private static ByteBuffer convertImageData(BufferedImage bufferedImage) { ByteBuffer imageBuffer;/*from www.j a va 2 s .c o m*/ WritableRaster raster; BufferedImage texImage; // for a texture if (bufferedImage.getColorModel().hasAlpha()) { raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, bufferedImage.getWidth(), bufferedImage.getHeight(), 4, null); texImage = new BufferedImage(glAlphaColorModel, raster, false, new Hashtable<Object, Object>()); } else { raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, bufferedImage.getWidth(), bufferedImage.getHeight(), 3, null); texImage = new BufferedImage(glColorModel, raster, false, new Hashtable<Object, Object>()); } // copy the source image into the produced image Graphics g = texImage.getGraphics(); g.setColor(new Color(0f, 0f, 0f, 0f)); g.fillRect(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight()); g.drawImage(bufferedImage, 0, 0, null); // build a byte buffer from the temporary image // that be used by OpenGL to produce a texture. byte[] data = ((DataBufferByte) bufferedImage.getRaster().getDataBuffer()).getData(); imageBuffer = ByteBuffer.allocateDirect(data.length); imageBuffer.order(ByteOrder.nativeOrder()); imageBuffer.put(data, 0, data.length); imageBuffer.flip(); return imageBuffer; }
From source file:com.openkm.util.ImageUtils.java
/** * cloneImage/*from www . ja va2 s. c om*/ */ public static BufferedImage clone(BufferedImage source) { BufferedImage img = new BufferedImage(source.getWidth(), source.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = img.getGraphics(); g.drawImage(source, 0, 0, null); g.dispose(); return img; }
From source file:com.spstudio.common.image.ImageUtils.java
public static BufferedImage zoom(BufferedImage sourceImage, int width, int height) { BufferedImage zoomImage = new BufferedImage(width, height, sourceImage.getType()); Image image = sourceImage.getScaledInstance(width, height, Image.SCALE_SMOOTH); Graphics gc = zoomImage.getGraphics(); gc.setColor(Color.WHITE);/* ww w . ja v a 2s .com*/ gc.drawImage(image, 0, 0, null); return zoomImage; }
From source file:com.jaeksoft.searchlib.util.ImageUtils.java
public static BufferedImage toBufferedImage(Image image) throws InterruptedException { if (image instanceof BufferedImage) return (BufferedImage) image; image = new ImageIcon(image).getImage(); int type = hasAlpha(image) ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB; BufferedImage bimage = new BufferedImage(image.getWidth(null), image.getHeight(null), type); Graphics g = bimage.createGraphics(); g.drawImage(image, 0, 0, null); g.dispose();/*from www. j av a 2 s. c o m*/ return bimage; }
From source file:org.spf4j.perf.impl.chart.Charts.java
public static BufferedImage createMinMaxAvgCountImg(final String chartName, final long[] timestamps, final double[] min, final double[] max, final double[] total, final double[] count, final String uom, final int width, final int height) { BufferedImage bi = Charts/*w w w. ja v a 2 s. c om*/ .createTimeSeriesJFreeChart(chartName, timestamps, new String[] { "min", "max", "avg" }, uom, new double[][] { min, max, Arrays.divide(total, count) }) .createBufferedImage(width, height - height / 3); BufferedImage bi2 = Charts.createTimeSeriesJFreeChart(null, timestamps, new String[] { "count" }, "count", new double[][] { count }).createBufferedImage(width, height / 3); BufferedImage combined = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); final Graphics graphics = combined.getGraphics(); try { graphics.drawImage(bi, 0, 0, null); graphics.drawImage(bi2, 0, height - height / 3, null); } finally { graphics.dispose(); } return combined; }
From source file:org.spf4j.perf.impl.chart.Charts.java
public static BufferedImage generateCountTotalChart(final String groupName, final long[][] timestamps, final String[] measurementNames, final String uom1, final double[][] measurements, final int width, final int height, final String[] measurementNames2, final String uom2, final double[][] measurements2) { BufferedImage count = Charts//w w w . j a v a2 s . c o m .createTimeSeriesJFreeChart("Measurements for " + groupName + " generated by spf4j", timestamps, measurementNames, uom1, measurements) .createBufferedImage(width, height / 2); BufferedImage total = Charts .createTimeSeriesJFreeChart(null, timestamps, measurementNames2, uom2, measurements2) .createBufferedImage(width, height / 2); BufferedImage combined = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); final Graphics graphics = combined.getGraphics(); try { graphics.drawImage(count, 0, 0, null); graphics.drawImage(total, 0, height / 2, null); } finally { graphics.dispose(); } return combined; }
From source file:com.tomtom.speedtools.json.ImageSerializer.java
@Nonnull private static BufferedImage convertToBufferedImage(@Nonnull final Image image) throws IOException { assert image != null; if (image instanceof BufferedImage) { return (BufferedImage) image; }/*from w w w .j a va 2s . c om*/ /** * Load the image in the background and wait * until is is downloaded. */ final MediaTracker tracker = new MediaTracker(new Component() { // Empty. }); tracker.addImage(image, 0); try { tracker.waitForAll(); } catch (final InterruptedException e) { throw new IOException(e.getMessage(), e); } /** * Create a buffered image with the right dimensions. */ final BufferedImage bufImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB); /** * Draw the image in the buffer and return it as base64 data. */ final Graphics g = bufImage.createGraphics(); g.drawImage(image, 0, 0, null); return bufImage; }
From source file:org.polymap.core.data.image.ImageTransparencyProcessor.java
public static BufferedImage transparency(Image image, final Color markerColor) throws IOException { long start = System.currentTimeMillis(); RGBImageFilter filter = new RGBImageFilter() { // the color we are looking for... Alpha bits are set to opaque public int markerRGB = markerColor.getRGB() | 0xFF000000; byte threshold = 25; double range = ((double) 0xFF) / (3 * threshold); public final int filterRGB(int x, int y, int rgb) { Color probe = new Color(rgb); //log.info( "probe=" + probe + ", marker=" + markerColor ); // delta values int dRed = markerColor.getRed() - probe.getRed(); int dGreen = markerColor.getGreen() - probe.getGreen(); int dBlue = markerColor.getBlue() - probe.getBlue(); //log.info( " dRed=" + dRed + ", dGreen=" + dGreen ); if (dRed >= 0 && dRed < threshold && dGreen >= 0 && dGreen < threshold && dBlue >= 0 && dBlue < threshold) { int alpha = (int) Math.round(range * (dRed + dGreen + dBlue)); //log.info( " -> alpha=" + alpha ); return ((alpha << 24) | 0x00FFFFFF) & rgb; } else { // nothing to do return rgb; }/*from ww w .ja va 2s. c o m*/ } }; // BufferedImage bimage = null; // if (image instanceof BufferedImage) { // bimage = (BufferedImage)image; // } // else { // bimage = new BufferedImage( // image.getHeight( null ), image.getWidth( null ), BufferedImage.TYPE_INT_ARGB ); // Graphics g = bimage.getGraphics(); // g.drawImage( image, 0, 0, null ); // g.dispose(); // } ImageProducer ip = new FilteredImageSource(image.getSource(), filter); Image result = Toolkit.getDefaultToolkit().createImage(ip); BufferedImage bresult = new BufferedImage(image.getHeight(null), image.getWidth(null), BufferedImage.TYPE_INT_ARGB); Graphics g = bresult.getGraphics(); g.drawImage(result, 0, 0, null); g.dispose(); // // XXX this can surely be done any more clever // int width = bimage.getWidth(); // int height = bimage.getHeight(); // for (int x=bimage.getMinX(); x<width; x++) { // for (int y=bimage.getMinY(); y<height; y++) { // int filtered = filter.filterRGB( x, y, bimage.getRGB( x, y ) ); // result.setRGB( x, y, filtered ); // } // } log.debug("Transparency done. (" + (System.currentTimeMillis() - start) + "ms)"); return bresult; }
From source file:com.mirth.connect.server.util.DICOMUtil.java
private static String returnOtherImageFormat(MessageObject message, String format, boolean autoThreshold) { // use new method for jpegs if (format.equalsIgnoreCase("jpg") || format.equalsIgnoreCase("jpeg")) { return new String(Base64.encodeBase64Chunked(dicomToJpg(1, message, autoThreshold))); }/*w w w . java2 s.com*/ byte[] rawImage = Base64.decodeBase64(getDICOMRawData(message).getBytes()); ByteArrayInputStream bais = new ByteArrayInputStream(rawImage); ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { DICOM dicom = new DICOM(bais); dicom.run(message.getType()); BufferedImage image = new BufferedImage(dicom.getWidth(), dicom.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics graphics = image.createGraphics(); graphics.drawImage(dicom.getImage(), 0, 0, null); graphics.dispose(); ImageIO.write(image, format, baos); return new String(Base64.encodeBase64Chunked(baos.toByteArray())); } catch (IOException e) { logger.error("Error Converting DICOM image", e); } finally { IOUtils.closeQuietly(bais); IOUtils.closeQuietly(baos); } return StringUtils.EMPTY; }