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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...