List of usage examples for java.awt Graphics2D setComposite
public abstract void setComposite(Composite comp);
From source file:iqq.util.ImageUtil.java
/** * ?//w w w . jav a 2 s .c o m * * @param srcFile ? * @param destFile * @param watermarkFile ? * @param watermarkPosition ?? * @param alpha ?? */ public synchronized static void addWatermark(File srcFile, File destFile, InputStream watermarkFile, WatermarkPosition watermarkPosition, int alpha) { //watermarkFile == null || !watermarkFile.exists() || if (!srcFile.exists() || watermarkFile == null || watermarkPosition == null || watermarkPosition == WatermarkPosition.no) { Log.println("addWatermark null"); return; } if (type == Type.jdk) { try { BufferedImage srcBufferedImage = ImageIO.read(srcFile); if (srcBufferedImage == null) { return; } int srcWidth = srcBufferedImage.getWidth(); int srcHeight = srcBufferedImage.getHeight(); BufferedImage destBufferedImage = new BufferedImage(srcWidth, srcHeight, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2D = destBufferedImage.createGraphics(); graphics2D.setBackground(BACKGROUND_COLOR); graphics2D.clearRect(0, 0, srcWidth, srcHeight); graphics2D.drawImage(srcBufferedImage, 0, 0, null); graphics2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha / 100.0F)); BufferedImage watermarkBufferedImage = ImageIO.read(watermarkFile); int watermarkImageWidth = watermarkBufferedImage.getWidth(); int watermarkImageHeight = watermarkBufferedImage.getHeight(); int x = srcWidth - watermarkImageWidth; int y = srcHeight - watermarkImageHeight; if (watermarkPosition == WatermarkPosition.topLeft) { x = 0; y = 0; } else if (watermarkPosition == WatermarkPosition.topRight) { x = srcWidth - watermarkImageWidth; y = 0; } else if (watermarkPosition == WatermarkPosition.center) { x = (srcWidth - watermarkImageWidth) / 2; y = (srcHeight - watermarkImageHeight) / 2; } else if (watermarkPosition == WatermarkPosition.bottomLeft) { x = 0; y = srcHeight - watermarkImageHeight; } else if (watermarkPosition == WatermarkPosition.bottomRight) { x = srcWidth - watermarkImageWidth; y = srcHeight - watermarkImageHeight; } graphics2D.drawImage(watermarkBufferedImage, x, y, watermarkImageWidth, watermarkImageHeight, null); graphics2D.dispose(); FileOutputStream out = new FileOutputStream(destFile); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(destBufferedImage); param.setQuality((float) DEST_QUALITY / 100, false); encoder.setJPEGEncodeParam(param); encoder.encode(destBufferedImage); out.close(); } catch (IOException e) { e.printStackTrace(); } } else { String gravity = "SouthEast"; if (watermarkPosition == WatermarkPosition.topLeft) { gravity = "NorthWest"; } else if (watermarkPosition == WatermarkPosition.topRight) { gravity = "NorthEast"; } else if (watermarkPosition == WatermarkPosition.center) { gravity = "Center"; } else if (watermarkPosition == WatermarkPosition.bottomLeft) { gravity = "SouthWest"; } else if (watermarkPosition == WatermarkPosition.bottomRight) { gravity = "SouthEast"; } IMOperation operation = new IMOperation(); operation.gravity(gravity); operation.dissolve(alpha); operation.quality((double) DEST_QUALITY); //operation.addImage(watermarkFile); operation.addImage(srcFile.getPath()); operation.addImage(destFile.getPath()); if (type == Type.graphicsMagick) { CompositeCmd compositeCmd = new CompositeCmd(true); if (graphicsMagickPath != null) { compositeCmd.setSearchPath(graphicsMagickPath); } try { compositeCmd.run(operation); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } catch (IM4JavaException e) { e.printStackTrace(); } } else { CompositeCmd compositeCmd = new CompositeCmd(false); if (imageMagickPath != null) { compositeCmd.setSearchPath(imageMagickPath); } try { compositeCmd.run(operation); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } catch (IM4JavaException e) { e.printStackTrace(); } } } }
From source file:at.tugraz.sss.serv.SSFileU.java
public static void scalePNGAndWrite(final BufferedImage buffImage, final String pngFilePath, final Integer width, final Integer height) throws IOException { final BufferedImage scaledThumb = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); final Graphics2D graphics2D = scaledThumb.createGraphics(); graphics2D.setComposite(AlphaComposite.Src); graphics2D.drawImage(buffImage, 0, 0, width, height, null); graphics2D.dispose();//from w w w . j a va 2 s . c om ImageIO.write(scaledThumb, SSFileExtE.png.toString(), new File(pngFilePath)); }
From source file:nl.b3p.imagetool.ImageTool.java
public static BufferedImage drawGeometries(BufferedImage bi, CombineImageSettings settings, int srid, Bbox bbox, int width, int height) throws Exception { List wktGeoms = settings.getWktGeoms(); if (wktGeoms == null || wktGeoms.size() <= 0) { return bi; }//from w w w. ja va2s . co m BufferedImage newBufIm = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB_PRE); // BufferedImage newBufIm = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D gbi = newBufIm.createGraphics(); gbi.drawImage(bi, 0, 0, null); for (int i = 0; i < wktGeoms.size(); i++) { gbi.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); CombineImageWkt ciw = (CombineImageWkt) wktGeoms.get(i); Color color = settings.getDefaultWktGeomColor(); if (ciw.getColor() != null) { color = ciw.getColor(); } gbi.setColor(color); String wktGeom = ciw.getWktGeom(); Geometry geom = geometrieFromText(wktGeom, srid); Shape shape = createImage(geom, srid, bbox, width, height); Point centerPoint = null; if (geom instanceof Polygon) { gbi.fill(shape); } else if (geom instanceof com.vividsolutions.jts.geom.Point) { centerPoint = calculateCenter(shape, srid, bbox, width, height); gbi.draw(new Ellipse2D.Double(centerPoint.getX(), centerPoint.getY(), 4, 4)); } else { gbi.setStroke(new BasicStroke(3)); gbi.draw(shape); } if (ciw.getLabel() != null) { if (centerPoint == null) { centerPoint = calculateCenter(shape, srid, bbox, width, height); } gbi.setColor(Color.black); gbi.drawString(ciw.getLabel(), (float) centerPoint.getX(), (float) centerPoint.getY()); } } gbi.dispose(); return newBufIm; }
From source file:FadeOutImage.java
public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha)); g2d.drawImage(myImage, 10, 10, null); }
From source file:Main.java
@Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g.create(); g2d.setComposite(AlphaComposite.SrcOver.derive(0.5f)); g2d.fillRect(10, 10, getWidth(), getHeight()); g2d.dispose();//from ww w . j av a 2 s .co m }
From source file:TransparentRectangles.java
public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; for (int i = 1; i <= 10; i++) { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, i * 0.1f)); g2d.fillRect(50 * i, 20, 50, 50); }//from w w w. j a v a2 s .c o m }
From source file:Main.java
@Override public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g.create(); if (!on) {/*from ww w . ja va 2 s . c om*/ g2d.setComposite(AlphaComposite.SrcOver.derive(0f)); } else { g2d.setComposite(AlphaComposite.SrcOver.derive(1f)); } super.paint(g2d); g2d.dispose(); }
From source file:Main.java
public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.5f); BufferedImage buffImg = new BufferedImage(60, 60, BufferedImage.TYPE_INT_ARGB); Graphics2D gbi = buffImg.createGraphics(); gbi.setPaint(Color.red);/* ww w .j a va2 s. co m*/ gbi.fillRect(0, 0, 40, 40); gbi.setComposite(ac); gbi.setPaint(Color.green); gbi.fillRect(5, 5, 40, 40); g2d.drawImage(buffImg, 20, 20, null); }
From source file:CompositingDST_ATOP.java
public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OUT, 0.5f); BufferedImage buffImg = new BufferedImage(60, 60, BufferedImage.TYPE_INT_ARGB); Graphics2D gbi = buffImg.createGraphics(); gbi.setPaint(Color.red);//from w ww . ja v a 2 s . c o m gbi.fillRect(0, 0, 40, 40); gbi.setComposite(ac); gbi.setPaint(Color.green); gbi.fillRect(5, 5, 40, 40); g2d.drawImage(buffImg, 20, 20, null); }
From source file:CompositingDST_ATOP.java
public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.DST_ATOP, 0.5f); BufferedImage buffImg = new BufferedImage(60, 60, BufferedImage.TYPE_INT_ARGB); Graphics2D gbi = buffImg.createGraphics(); gbi.setPaint(Color.red);/*from w w w . j av a2 s . c o m*/ gbi.fillRect(0, 0, 40, 40); gbi.setComposite(ac); gbi.setPaint(Color.green); gbi.fillRect(5, 5, 40, 40); g2d.drawImage(buffImg, 20, 20, null); }