在不使用AWT的情况下合并两个图像

时间:2014-03-31 18:57:25

标签: java awt

我遇到的情况是我不允许在服务器上使用AWT库,但需要合并两个图像。我只知道Java中使用java.awt.Graphics.drawImagejava.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) {
}

2 个答案:

答案 0 :(得分:0)

是的,这是可能的,但为什么呢?

阅读:Java GUI frameworks. What to choose? Swing, SWT, AWT, SwingX, JGoodies, JavaFX, Apache Pivot?在这里,您将能够找到许多其他可能对您有用的GUI框架。

答案 1 :(得分:0)

您考虑过ImageJ了吗?

它是一个开源的纯Java图像处理库。