将图像合并到指定位置的另一个图像并将其另存为新图像?

时间:2010-04-22 12:27:03

标签: java jquery image image-manipulation

保存通过将图像合并到另一张图像上生成的图像?

我首先有一个图像,我希望在指定的位置插入一些文本... ...我得到了coorectly ..bt新任务是将最后生成的图像放在另一个图像模板上给定的位置并将其保存为我的工作目录中的新jpg图像..

1 个答案:

答案 0 :(得分:4)

以下是如何使用java2D使用Image Overlay的示例。既然你用[jquery]标记了,我也不确定你是否想用jquery或java来做这个。

我的意思是第二个片段,修复并运行

import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class WaterMark {
    public static void main(String[] args) throws IOException {
        URL url = new URL("http://sstatic.net/so/img/logo.png");
        BufferedImage im = ImageIO.read(url);
        URL url2 = new URL("http://sstatic.net/sf/img/logo.png");
        BufferedImage im2 = ImageIO.read(url2);
        Graphics2D g = im.createGraphics();
        g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f));
        g.drawImage(im2, (im.getWidth()-im2.getWidth())/2, (im.getHeight()-im2.getHeight())/2, null);
        g.dispose();

        display(im);
        ImageIO.write(im, "jpeg", new File("sample_output.jpeg"));
    }

    public static void display(BufferedImage image) {
        JFrame f = new JFrame("WaterMark");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().add(new JLabel(new ImageIcon(image)));
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }
}