| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
eg756
9年前发布

Java 图片合并类

package com.loyom.mp.handle;     import java.awt.image.BufferedImage;  import java.io.File;  import java.io.IOException;  import javax.imageio.ImageIO;     public class ImageHandle {         public BufferedImage marge(String first, String last, boolean isVertical) {          BufferedImage one = this.readImage(first);          BufferedImage two = this.readImage(last);          if (isVertical) {              return this.mergeTwoImageByVertical(one, two);          } else {              return this.mergeTwoImageByHorizontal(one, two);          }      }         public void saveImage(String savePath, BufferedImage image) {          try {              File file = new File(savePath);              ImageIO.write(image, "jpg", file);// 写图片            } catch (IOException ex) {              ex.printStackTrace();          }      }         private BufferedImage mergeTwoImageByVertical(BufferedImage one, BufferedImage two) {          int width = this.getWidth(one);          int height = this.getHeight(one);             int[] oneRPG = this.readImageRPG(one);          int[] twoRPG = this.readImageRPG(two);             BufferedImage result = new BufferedImage(width, height * 2, BufferedImage.TYPE_INT_RGB);          result.setRGB(0, 0, width, height, oneRPG, 0, width);          result.setRGB(0, height, width, height, twoRPG, 0, width);          return result;      }         private BufferedImage mergeTwoImageByHorizontal(BufferedImage one, BufferedImage two) {          int width = this.getWidth(one);          int height = this.getHeight(one);             int[] oneRPG = this.readImageRPG(one);          int[] twoRPG = this.readImageRPG(two);             BufferedImage result = new BufferedImage(width * 2, height, BufferedImage.TYPE_INT_RGB);          result.setRGB(0, 0, width, height, oneRPG, 0, width);          result.setRGB(width, 0, width, height, twoRPG, 0, width);          return result;      }         private int[] readImageRPG(BufferedImage image) {          int width = this.getWidth(image);          int height = this.getHeight(image);          int[] imageRPG = new int[width * height];// 从图片中读取RGB            imageRPG = image.getRGB(0, 0, width, height, imageRPG, 0, width);          return imageRPG;      }         private int getWidth(BufferedImage image) {          if (image == null) {              return 0;          }          return image.getWidth();         }         private int getHeight(BufferedImage image) {          if (image == null) {              return 0;          }          return image.getHeight();      }         private BufferedImage readImage(String path) {          try {              File file = new File(path);              return ImageIO.read(file);          } catch (IOException ex) {              ex.printStackTrace();          }          return null;      }  }

来自:http://my.oschina.net/u/2370543/blog/487821