Java 将多个图像合并为一个
我把一堆照片放在一个文件夹里,这样在那之后总是有一张a类型的照片和一张B类型的照片 不幸的是,其中一些文件需要轮换,我使用标准的Windows文件资源管理器进行轮换 我需要的是将每对照片A和B组合成新的单张照片,以便第一张源照片显示在第二张照片的上方。两张照片的宽度相同 代码如下:Java 将多个图像合并为一个,java,image,graphics,Java,Image,Graphics,我把一堆照片放在一个文件夹里,这样在那之后总是有一张a类型的照片和一张B类型的照片 不幸的是,其中一些文件需要轮换,我使用标准的Windows文件资源管理器进行轮换 我需要的是将每对照片A和B组合成新的单张照片,以便第一张源照片显示在第二张照片的上方。两张照片的宽度相同 代码如下: File first = ...; File second = ...; BufferedImage A = ImageIO.read(first); BufferedImage 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忽略了。
如何检测该标志,并在合并前根据需要最终旋转照片?谢谢我建议使用获取图像的方向。请参阅。如果提取旋转,可以使用旋转来旋转图像。谢谢!我用过那个图书馆,它看起来很有前途。