1
我在一個文件夾中排序了一堆照片,以便在此之後緊接着總是有一張類型爲A
的照片和一張類型爲B
的照片。將多個圖像合併爲一個
不幸的是,其中一些需要旋轉,我使用標準的Windows文件瀏覽器。
我需要的是將每張照片A和B合併爲新的單張照片,以便第一張照片顯示在第二張之上。兩張照片都有相同的寬度。
下面是代碼:
File first = ...;
File second = ...;
BufferedImage A = ImageIO.read(first);
BufferedImage B = ImageIO.read(second);
int resultHeight = A.getHeight() + B.getHeight();
int resultWidth = A.getWidth();
BufferedImage combined = new BufferedImage(resultWidth, resultHeight, BufferedImage.TYPE_INT_ARGB);
Graphics g = combined.getGraphics();
g.drawImage(A, 0, 0, null);
g.drawImage(B, 0, A.getHeight(), null);
g.dispose();
ImageIO.write(combined, "PNG", new File(destDirectory, destName));
不幸的是,儘管所有的照片似乎有相同的方向與Windows app
觀看時,它們在結果照片旋轉不同。我知道有一些種類標誌的,似乎我怎樣才能檢測標誌由BufferedImage.
忽視並最終旋轉照片結合之前需要?謝謝!
如果你提取的旋轉,你可以使用[這個答案](http://stackoverflow.com/questions/9749121/java-image-rotation-with-affinetransform-outputs-black-image-but-works-well- whe)旋轉圖像。 – fhofmann
謝謝!我使用了這個庫,看起來很有希望。 –