# Rahmen vom Bild transparent machen



## joschika77 (7. Feb 2005)

Hallo!

Ich baue mir gerade ein eigenes Frame.
Dazu habe ich die Titelleiste abgestellt und links oben ein Bild mit der paint Methode eingefügt.
Leider hat das Bild einen hässlichen weissen Rahmen drumherum.
Gibt es die Möglichkeit mit paint den Rahmen irgendwie transparent zu machen so das nur z.B. die Erde zu sehen ist?

MfG


----------



## Bash (8. Feb 2005)

@joschika:
Ich geh mal davon aus, dass du mit "weißem Rahmen" den Hintergrund deines Bildes meinst.
Dafür brauchst du natürlich zuerst mal ein mit transparentem Hintergrund.
Ich geh auch mal davon aus, dass du das hast, ein gif z.B.

Dann kann man es mit diesem Beispiel-Code auf einem JButton anzeigen.
Der Knopf ändert beim Klicken seine Hintergrund-Farbe, so dass sich sehen lässt, ob das Bild
transparent angezeigt wird oder nicht.


```
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;

public class TransparentesBild
extends JFrame {
	private final String BILD_DATEI = "Ellipse.gif";
	public static void main(String[] args) {
		new TransparentesBild();
	}
	public TransparentesBild() {
		JButton knopf = new JButton("");
		getContentPane().add(knopf);
		knopf.addActionListener(new ActionListener() {
			int farbZaehler = 0;
			Color[] farben = new Color[] {Color.RED, Color.GREEN, Color.BLUE, Color.LIGHT_GRAY};
			public void actionPerformed(ActionEvent ae) {
				((JButton)ae.getSource()).setBackground(farben[farbZaehler]);
				farbZaehler = ++farbZaehler % 4;
			}
		});
		knopf.setPreferredSize(new Dimension(128, 128));
		knopf.setIcon(getImageIcon(BILD_DATEI));

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		pack();
		setLocationRelativeTo(null);
		setVisible(true);
	}
	public static ImageIcon getImageIcon(String name) {
		Toolkit tk = Toolkit.getDefaultToolkit();
		try {
			URL url = TransparentesBild.class.getResource(name);
			return new ImageIcon(tk.createImage(url));
		} catch (Exception e) {
			System.out.println("TransparentesBild.getImageIcon()\t" + e.getLocalizedMessage());
			return null;
		}
	}
}
```


----------



## joschika77 (8. Feb 2005)

Also das Bild hat immer den Hintergrund weiss.
Wie bekomme ich denn eine Transparenz in den Hintergrund?

MfG


----------



## Bash (9. Feb 2005)

> Also das Bild hat immer den Hintergrund weiss.
> Wie bekomme ich denn eine Transparenz in den Hintergrund?



Entweder du kannst von irgend wo her ein Bild mit transparentem Hintergrund kopieren, oder du brauchst ein Programm, mit dem man transparente Bilder herstellen kann.

Ich hab kein Pgm mit dem sich das machen lässt, aber sicher hat hier jemand nen Tip ...  :wink:


----------



## Sky (9. Feb 2005)

Da gibt es natürlich viele Tools. Ich weiss jetzt natürlich nicht, was Du für ein System usw. hast.

Wenn es sich aber z.B. um eine "Standard-M$"-Installation handelt so gibt es den "Microsoft Photo Editor" (kein schönes Tool, aber er kann halt Transparenz): Einfach dein gif laden und unter "Extras" den Menüpunkt "Transparente Farbe bestimmen" und dann nochmal klicken und fertig.


----------

