We would like to know how to create Image with Transparent pixel.
import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.image.BufferedImage; import java.io.File; import java.net.URL; // ww w . ja va 2s .co m import javax.imageio.ImageIO; public class Main { public static void main(String[] args) throws Exception { URL url = new URL("http://www.java2s.com/style/download.png"); BufferedImage image = ImageIO.read(url); int w = image.getWidth(); int h = image.getHeight(); Ellipse2D.Double ellipse1 = new Ellipse2D.Double(10,10,20,30); Ellipse2D.Double ellipse2 = new Ellipse2D.Double(15,15,20,30); Area circle = new Area(ellipse1); circle.subtract(new Area(ellipse2)); BufferedImage result = new BufferedImage(w,h,BufferedImage.TYPE_INT_ARGB); Graphics2D g = result.createGraphics(); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); g.setClip(circle); g.drawImage(image, 0, 0, null); g.dispose(); ImageIO.write( result, "png", new File( "result.png" ) ); } }