java合并图片
2015-05-14 19:14
190 查看
mark.
private static BufferedImage merge() throws IOException { int defaultHeight = 216; //396+216 int defaultWidth = 612; File logoFile = new File("D://tmp//logo.png"); File imageFile = new File("D://tmp//item.jpg"); //BufferedImage logoImages = ImageIO.read(logoFile); // BufferedImage itemImages = ImageIO.read(imageFile); String logoUrl = "http://gtms01.alicdn.com/tps/i1/TB1fX__HXXXXXcWXXXXxb7H0VXX-396-216.jpg"; String itemUrl = "http://img04.taobaocdn.com/tfscom/i4/920815473/TB20usvcpXXXXXIXXXXXXXXXXXX_!!920815473.jpg"; BufferedImage logoImages = ImageIO.read(new URL(logoUrl)); BufferedImage itemImages = ImageIO.read(new URL(itemUrl)); Image img = Toolkit.getDefaultToolkit().getImage(new URL(itemUrl)); // itemImages = toBufferedImage(img); BufferedImage finalImg = new BufferedImage(defaultWidth, defaultHeight, BufferedImage.TYPE_INT_ARGB); finalImg.createGraphics().drawImage(logoImages, 0, 0, null); int itemHeight = itemImages.getHeight(); int itemWidth = itemImages.getWidth(); float maxHeight = 216; float maxWidth = 216; if (itemHeight > itemWidth) { maxWidth = maxHeight / itemHeight * itemWidth; } else { maxHeight = maxWidth / itemWidth * itemHeight; } Image smallImage = itemImages.getScaledInstance((int) maxWidth, (int) maxHeight, Image.SCALE_AREA_AVERAGING); finalImg.createGraphics().drawImage(smallImage, logoImages.getWidth(), 0, null); //输出拼接后的图像 return finalImg; } public static BufferedImage toBufferedImage(Image image) { if (image instanceof BufferedImage) { return (BufferedImage) image; } // This code ensures that all the pixels in the image are loaded image = new ImageIcon(image).getImage(); // Determine if the image has transparent pixels; for this method's // implementation, see e661 Determining If an Image Has Transparent Pixels //boolean hasAlpha = hasAlpha(image); // Create a buffered image with a format that's compatible with the screen BufferedImage bimage = null; GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); try { // Determine the type of transparency of the new buffered image int transparency = Transparency.OPAQUE; /* * if (hasAlpha) { transparency = Transparency.BITMASK; } */ // Create the buffered image GraphicsDevice gs = ge.getDefaultScreenDevice(); GraphicsConfiguration gc = gs.getDefaultConfiguration(); bimage = gc.createCompatibleImage(image.getWidth(null), image.getHeight(null), transparency); } catch (HeadlessException e) { // The system does not have a screen } if (bimage == null) { // Create a buffered image using the default color model int type = BufferedImage.TYPE_INT_RGB; //int type = BufferedImage.TYPE_3BYTE_BGR;//by wang /* * if (hasAlpha) { type = BufferedImage.TYPE_INT_ARGB; } */ bimage = new BufferedImage(image.getWidth(null), image.getHeight(null), type); } // Copy image to buffered image Graphics g = bimage.createGraphics(); // Paint the image onto the buffered image g.drawImage(image, 0, 0, null); g.dispose(); return bimage; } public static void main(String[] args)throws Exception{ BufferedImage bufferedImage=merge(); ImageIO.write(bufferedImage,"PNG",new FileOutputStream("d://zxl.png")); }
相关文章推荐
- java使用Opencv小例子,从合并的两个图片中减去一张图片
- java 在图片上写字,两个图片合并的实现方法
- java向图片上写字,两个图片合并的方法
- java实现把两张图片合并
- java向图片上写字,两个图片合并的方法
- java将多张图片合并转为PDF
- java实现合并图片的方法示例
- java使用Opencv小例子,从合并的两个图片中减去一张图片
- (Java实现)HTML转JPG,TIFF等图片格式和TIFF图片合并功能解决方案。
- Java 批量导出PPT为图片,并合并生成PDF
- java实现把两张图片合并
- Java调整图片大小合并PNG图片生成ICON(保持背景透明)
- Java横向、纵向合并图片
- java实现将js、css、图片合并到html
- java分割、合并图片
- Java的图片处理 - 合并图片
- java合并图片
- Java横向、纵向合并图片
- Java横向、纵向合并图片
- 合并图片 java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!