我想从2张图片创建一张图片,所以第一张图片将在第二张图片之上:
----------------
image1
----------------
----------------
image2
----------------
因此输出图像将具有图像1 +图像2的高度和宽度:
这是我的代码:
private void combainImages(List<String> imageList, String combainedImages)
throws IOException {
//paths for the images
String aPath = imageList.get(0);
String bPath = imageList.get(1);
//as image
BufferedImage a = ImageIO.read(new File(aPath));
BufferedImage b = ImageIO.read(new File(bPath));
int aw = a.getWidth(); //551
int ah = a.getHeight(); //600
int bw = b.getWidth(); //551
int bh = b.getHeight(); //600
BufferedImage c = new BufferedImage(a.getHeight() + b.getHeight(),
a.getWidth() + b.getWidth(), BufferedImage.TYPE_INT_ARGB);
// 1200 1102
Graphics g = c.getGraphics();
g.drawImage(a, 0, 0, null);
g.drawImage(b, 0, a.getWidth(), null);
ImageIO.write(c, "PNG", new File(combainedImages));
}
这个输出是2幅图像之间的一个很大的空间。
感谢您的帮助。
答案 0 :(得分:0)
您根据宽度而不是高度选择Y位置。
g.drawImage(b, 0, a.getWidth(), null);
应该是
g.drawImage(b, 0, a.getHeight(), null);