我正在尝试绘制 2 个图像,一个在另一个之上。第一个图像是一个箭头(在最终图像中应该看起来像一个标题)。第一张图片(箭头)是 32x32 像素,而第二张是 24x24。
理想情况下,我想从第一个图像的右下角开始在第一个图像的顶部绘制第二个图像。
目前我正在使用这样的代码
// load source images
BufferedImage baseImage = ImageIO.read(new File(baseImg.getFileLocation()));
BufferedImage backgroundImage = ImageIO.read(new File(backgroundImg.getFileLocation()));
// create the new image, canvas size is the max. of both image sizes
int w = Math.max(baseImage.getWidth(), backgroundImage.getWidth());
int h = Math.max(baseImage.getHeight(), backgroundImage.getHeight());
BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
// paint both images, preserving the alpha channels
Graphics g = combined.getGraphics();
g.drawImage(baseImage, 0, 0, null);
g.drawImage(backgroundImage, 0, 0, null);
int index = baseImg.getFileLocation().lastIndexOf(".png");
String newFileName = baseImg.getFileLocation().substring(0, index);
// Save as new image
ImageIO.write(combined, "PNG", new File(newFileName + "_combined.png"));
但这对我来说不太适用,因为最终结果是 32x32 图像,仅绘制了第二张图像。
任何帮助表示赞赏。
谢谢 !