Mergen von images mit Java

hares

Grünschnabel
hi Leute, kann mir jemand sagen, wie ich es schaffe mit java zwei oder mehrere bilder wieder zu einem zusammenzufügen bevorzugtes Format ist .png.

mich interessiert hauptsächlich, wie ich es am besten einlese und mit was ich sie mergen kann! Bin noch auf keinen Lösungsansatz gekommen!

cu und danke
 
Hallo!

Wie meinst du das denn ? Willst du für jeden überlappenden Pixel der drei Bilder in abhänigkeit der "darunterliegenden" einen neuen Farbwert errechnen?

Gruß Tom
 
Nein, ich möchte einfach aus zwei bildern, (sprich zwei hälften EINES Bildes) einfach wieder eines machen. Keine Bildglättung oder ähnliches, einfach aus zwei bildern (die irgendwie getrenntwurden) wieder eines machen. Nebeneinander oder Übereinander kommt dann ja drauf an!

danke leute
 
Hallo!

Kein Problem:

Code:
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

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

public class ImageMerge extends JFrame {

	private BufferedImage mergeImage;

	public ImageMerge() {
		super("ImageMerge");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}

	public static void main(String[] args) {
		new ImageMerge().processImages();
	}

	/**
	 * 
	 */
	private void processImages() {
		try {
			ImageIcon imgUpper =
				new ImageIcon(ImageIO.read(new File("c:/imgs/oben.jpg")));
			ImageIcon imgLower =
				new ImageIcon(ImageIO.read(new File("c:/imgs/unten.jpg")));

			mergeImage =
				new BufferedImage(
					imgUpper.getIconWidth(),
					imgUpper.getIconHeight() + imgLower.getIconHeight(),
					BufferedImage.TYPE_INT_RGB);

			Graphics g = mergeImage.getGraphics();
			g.drawImage(imgUpper.getImage(), 0, 0, this);
			g.drawImage(imgLower.getImage(), 0, imgUpper.getIconHeight(), this);

			ImageIO.write(mergeImage, "jpg", new File("c:/imgs/Merge.jpg"));

		} catch (IOException e) {
			e.printStackTrace();
		}

		setSize(mergeImage.getWidth(), mergeImage.getHeight());
	}

	public void paint(Graphics g) {
		if (mergeImage != null) {
			g.drawImage(mergeImage, 0, 0, this);
		}

	}
}

Gruß Tom

Anbei: unten.jpg und oben.jpg als zip.
 

Anhänge

  • imgs.zip
    14,1 KB · Aufrufe: 132
Zurück