這是一個十分簡單的程式,主要的功用在於把二張size一樣的圖,合成在一張圖的左右二邊,程式寫的蠻死的,一定要size一樣,有興趣的人可以自己改成動態的二張圖。
首先我們先找了二張圖,就下面二張,如果突然找不到圖的朋友們,可以直接下載下面二張來使用。
圖一,1.jpg
圖二,2.jpg
合成的結果如下,寬應該是原圖的二倍,才可以容的下二張圖,不過因為怕我的blog版面放不下,所以只好縮小了。
程式碼如下:(有一點要注意,圖片太大的話有可能有out of memory的問題喔!)
package tool; public class Image { /** * 圖二位置,從左上角開始 */ public void createPicTwo() { try { // File Load java.io.File fileOne = new java.io.File("d:\\2.jpg"); java.awt.image.BufferedImage ImageOne = javax.imageio.ImageIO .read(fileOne); int width = ImageOne.getWidth(); int height = ImageOne.getHeight(); // 讀取圖片rgb int[] ImageArrayOne = new int[width * height]; ImageArrayOne = ImageOne.getRGB(0, 0, width, height, ImageArrayOne, 0, width); // 對第二張圖片做相同處理 java.io.File fileTwo = new java.io.File("d:\\1.jpg"); java.awt.image.BufferedImage ImageTwo = javax.imageio.ImageIO .read(fileTwo); int widthTwo = ImageTwo.getWidth(); int heightTwo = ImageTwo.getHeight(); int[] ImageArrayTwo = new int[widthTwo * heightTwo]; ImageArrayTwo = ImageTwo.getRGB(0, 0, widthTwo, heightTwo, ImageArrayTwo, 0, widthTwo); // 生成新圖片 java.awt.image.BufferedImage ImageNew = new java.awt.image.BufferedImage( width * 2, height, java.awt.image.BufferedImage.TYPE_INT_RGB); ImageNew.setRGB(0, 0, width, height, ImageArrayOne, 0, width);// 設置左半部分的RGB ImageNew.setRGB(width, 0, widthTwo, heightTwo, ImageArrayTwo, 0, widthTwo);// 設置右半部分的RGB java.io.File outFile = new java.io.File("d:\\out.jpg"); javax.imageio.ImageIO.write(ImageNew, "JPEG", outFile);// 寫入圖片 } catch (Exception e) { e.printStackTrace(); } } public static void main(String args[]) { Image image = new Image(); image.createPicTwo(); } }
請問
GIMP加裝SEPARATE,轉換色彩模式時產生這個訊息,要如何處理?
http://i.imgur.com/3ouMh.png
謝謝
說真的…我不知道…不好意思