问题描述
我想将 this image 放在 this image 之上。
这是我的代码:
public class ImageOverlayTest {
public static final String IMAGE_SOURCE_PATH = "src/main/resources/META-INF/resources/images/chess-sources/";
public static final String IMAGE_DEST_PATH = "src/main/resources/META-INF/resources/images/games/";
public static void main(String[] args) {
BufferedImage bgImage = readImage("board","png");
BufferedImage fgImage = readImage("bb","png");
BufferedImage overlayedImage = overlayImages(bgImage,fgImage);
writeImage(overlayedImage,"result","png");
}
public static BufferedImage overlayImages(BufferedImage background,BufferedImage foreground) {
Graphics2D g = background.createGraphics();
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
g.drawImage(background,null);
g.drawImage(foreground,null);
g.dispose();
return background;
}
public static BufferedImage readImage(String fileNameWithoutExtension,String extension) {
BufferedImage img = null;
try {
String path = IMAGE_SOURCE_PATH + fileNameWithoutExtension + "." + extension;
img = ImageIO.read(new File(path));
} catch (IOException e) {
e.printStackTrace();
}
return img;
}
public static void writeImage(BufferedImage img,String fileNameWithoutExtension,String extension) {
try {
String path = IMAGE_DEST_PATH + fileNameWithoutExtension + "." + extension;
File outputFile = new File(path);
ImageIO.write(img,extension,outputFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
主要取自here。
怎么了?为什么渲染顶部图像的方式与单独查看时的方式不同?我该怎么做才能解决这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)