Java 将多个图像合并为一个

Java 将多个图像合并为一个,java,image,graphics,Java,Image,Graphics,我把一堆照片放在一个文件夹里,这样在那之后总是有一张a类型的照片和一张B类型的照片 不幸的是,其中一些文件需要轮换,我使用标准的Windows文件资源管理器进行轮换 我需要的是将每对照片A和B组合成新的单张照片,以便第一张源照片显示在第二张照片的上方。两张照片的宽度相同 代码如下: File first = ...; File second = ...; BufferedImage A = ImageIO.read(first); BufferedImage B

我把一堆照片放在一个文件夹里,这样在那之后总是有一张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应用程序查看时,所有图片似乎都具有相同的方向,但它们在结果照片中的旋转方式不同。我知道有某种标志似乎被
BufferedImage忽略了。


如何检测该标志,并在合并前根据需要最终旋转照片?谢谢

我建议使用获取图像的方向。请参阅。

如果提取旋转,可以使用旋转来旋转图像。谢谢!我用过那个图书馆,它看起来很有前途。