我在一个文件夹中排列了大量照片,以便在此之后总是有一张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.
如何在合并之前检测该标志并最终根据需要旋转照片?谢谢!