Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Guten Tag zusammen,

ich bin gerade dabei ein Programm in Java zu schreiben mit dem man Bestimmte Bildteile durch andere ersetzen kann. Dies mache ich mit der drawImage Methode. Dies Funktioniert auch aber nun habe ich das Problem das ich auch .gif Bilder bearbeiten möchte. Nun haben diese Standardmäßig das indizierte Farbmodell und wenn ich nun ein Bild mit dem Programm einfüge gibt es innerhalb des neu eingefügten Bilds komische Farbpixel usw. Also müsste ich nun vor dem Einfügen das Farbmodell auf RGB umberechnen und anschließend wieder zurück. Nun meine Frage wie kann ich das in Java machen ?

Hier ist die Methode mit der ich das Bild einfüge:

public static void bild_zeichnen (String str_img_org; String str_img_einf; int pos_x , int pos_y, String speicherort) throws Exception

	{

	JPanel jp = new JPanel();


	        MediaTracker media = new MediaTracker(jp);


	        BufferedImage buff_img_org = ImageIO.read(new File(str_img_org));//liest die Bilder ein 

	        BufferedImage buff_img_einf = ImageIO.read(new File(str_img_einf));


	        Graphics2D graphic2d = buff_img_org.createGraphics();


	        media.addImage(buff_img_org, 1);

	        media.addImage(buff_img_einf, 2);



	        media.waitForAll();


	        Boolean b_überprüfen = graphic2d.drawImage(buff_img_einf,pos_x,pos_y,null);//zeichnet das neue Bild



	        media.removeImage(buff_img_org);

	        media.removeImage(buff_img_einf);



	        graphic2d.dispose();


	        if(b_überprüfen == false)

	        {

	            JOptionPane.showMessageDialog(oberfläche.jf_main, "<html>Achtung Fehler beim Laden des Bildes !<br>" +

	                                                              "Bild '"+new File(str_img_org).getName()+"' wird <br>" +

	                                                              "übersprungen.");

	        }


	        File output_file = new File(speicherort);

	        ImageIO.write(buff_img_org, output_file.getName().substring(output_file.getName().length()-3, output_file.getName().length()), output_file);

MfG

Saban

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...