我遇到的情况是我不允许在服务器上使用AWT库,但需要合并两个图像。我只知道Java中使用java.awt.Graphics.drawImage
和java.awt.image.BufferedImage
的一种方法。
是否可以合并两个不使用AWT的图像?
基于AWT的示例代码:
try {
BufferedImage image = ImageIO.read(new File("a.png"));
BufferedImage overlay = ImageIO.read(new File("b.png"));
int width = Math.max(image.getWidth(), overlay.getWidth());
int height = Math.max(image.getHeight(), overlay.getHeight());
BufferedImage combination = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics g = combination.getGraphics();
g.drawImage(image, 0, 0, null);
g.drawImage(overlay, 0, 0, null);
ImageIO.write(combination, "png", new File("c.png"));
}
catch (IOException ioe) {
}
答案 0 :(得分:0)
是的,这是可能的,但为什么呢?
阅读:Java GUI frameworks. What to choose? Swing, SWT, AWT, SwingX, JGoodies, JavaFX, Apache Pivot?在这里,您将能够找到许多其他可能对您有用的GUI框架。
答案 1 :(得分:0)
您考虑过ImageJ了吗?
它是一个开源的纯Java图像处理库。