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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!