Java橫向、縱向合并圖片代碼
進行圖片對比時候想把兩張有差異的圖片放到一起。
將縱向合并的自己調整了下,源碼如下:
import java.io.File;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
public class TestPic {
public static void main(String[] args) {
xPic();
}
public static void xPic(){//橫向處理圖片
try {
/* 1 讀取第一張圖片*/
File fileOne = new File("E:\\1.png");
BufferedImage imageFirst = ImageIO.read(fileOne);
int width = imageFirst.getWidth();// 圖片寬度
int height = imageFirst.getHeight();// 圖片高度
int[] imageArrayFirst = new int[width * height];// 從圖片中讀取RGB
imageArrayFirst = imageFirst.getRGB(0, 0, width, height, imageArrayFirst, 0, width);
/* 1 對第二張圖片做相同的處理 */
File fileTwo = new File("E:\\2.png");
BufferedImage imageSecond = ImageIO.read(fileTwo);
int[] imageArraySecond = new int[width * height];
imageArraySecond = imageSecond.getRGB(0, 0, width, height, imageArraySecond, 0, width);
// 生成新圖片
BufferedImage imageResult = new BufferedImage(width * 2 , height,BufferedImage.TYPE_INT_RGB);
imageResult.setRGB(0, 0, width, height, imageArrayFirst, 0, width);// 設置左半部分的RGB
imageResult.setRGB(width, 0, width, height, imageArraySecond, 0, width);// 設置右半部分的RGB
File outFile = new File("D:\\out.jpg");
ImageIO.write(imageResult, "jpg", outFile);// 寫圖片
} catch (Exception e) {
e.printStackTrace();
}
}
public static void yPic(){//縱向處理圖片
try {
/* 1 讀取第一張圖片*/
File fileOne = new File("D:\\1.GIF");
BufferedImage imageFirst = ImageIO.read(fileOne);
int width = imageFirst.getWidth();// 圖片寬度
int height = imageFirst.getHeight();// 圖片高度
int[] imageArrayFirst = new int[width * height];// 從圖片中讀取RGB
imageArrayFirst = imageFirst.getRGB(0, 0, width, height, imageArrayFirst, 0, width);
/* 1 對第二張圖片做相同的處理 */
File fileTwo = new File("D:\\1.GIF");
BufferedImage imageSecond = ImageIO.read(fileTwo);
int[] imageArraySecond = new int[width * height];
imageArraySecond = imageSecond.getRGB(0, 0, width, height, imageArraySecond, 0, width);
// 生成新圖片
BufferedImage imageResult = new BufferedImage(width, height * 2,BufferedImage.TYPE_INT_RGB);
imageResult.setRGB(0, 0, width, height, imageArrayFirst, 0, width);// 設置左半部分的RGB
imageResult.setRGB(0, height, width, height, imageArraySecond, 0, width);// 設置右半部分的RGB
File outFile = new File("D:\\out.jpg");
ImageIO.write(imageResult, "jpg", outFile);// 寫圖片
} catch (Exception e) {
e.printStackTrace();
}
}
} 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!