2010-11-18 15 views
2

Ich habe ein JLabel mit einem Box-Symbol darauf. Ich erstelle das Bild des Icons in Photoshop. Es ist ein png-24 Bild mit dem Hintergrund vollständig gelöscht.Java - JLabel Hintergrund ist nicht vollständig transparent?

Aber wenn auf einem dunklen Hintergrund bewegt, können Sie sehen, dass der Hintergrund nicht vollständig transparent ist:

image


EDIT # 2:

Das Bild transparent ist . Ich habe sogar Photoshop-Tutorials durchgelesen, um sicherzustellen, dass ich ein transparentes Bild auf die richtige Weise erstelle. Das Problem scheint bei Java (und JLabels) zu liegen.

Wie behebe ich das?

+0

, wenn das Bild *** IST *** transparent dann warum es nicht so transparent in einer HTML-Seite angezeigt? – pstanton

Antwort

4

Ich habe dein Bild getestet, es ist nicht transparent. Das ist sicher der Grund.

@Gabe: fügen Sie das in eine HTML-Datei ein und laden Sie es in einen Browser. Dies ist eindeutig kein Problem mit irgendetwas Java bezogen.

Hier ist ein Java-Beweis, dass Ihr Bild nicht transparent ist und dass eine ordnungsgemäße transparente PNG funktioniert.

public static void main(String[] args) throws Throwable 
{ 
    JFrame frame = new JFrame(); 
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
    Container cp = frame.getContentPane(); 
    cp.setBackground(Color.RED); 
    cp.setLayout(new FlowLayout()); 

    cp.add(new JLabel(new ImageIcon(new URL("http://i.stack.imgur.com/BvYxM.png")))); 
    cp.add(new JLabel(new ImageIcon(new URL("http://www.axdn.com/redist/axpssp_logo.png")))); 

    frame.pack(); 
    frame.setVisible(true); 
} 
+0

Wie kann ich es dann reparieren? Ich lösche den gesamten Hintergrund in Photoshop? Es sieht so aus, als würde Java das Bild anders handhaben. –

+0

Verwenden Sie Datei/Speichern für Web, um das PNG mit Transparenz zu speichern. – msell

+0

Ich bin. Genau das. –

1

Sie können versuchen, mit GIF-Format und Alpha-Wert entsprechend einzustellen. Ich konnte dein Bild gerade nicht sehen. Nun, stellen Sie sicher, dass das Bild, das Sie erstellen, transparent ist. Sonst würden Sie es nicht bekommen, wie Sie brauchen.

Probe Führer für transparentes Bild machen: LINK

+0

Das hat auch nicht funktioniert. Ich weiß, dass es ein PNG sein muss. (Ich habe vorher gelesen, dass Java transparenc nur mit PNGs funktioniert.) –

+0

hey .... ich glaube, ich habe hier dasselbe gefunden. einmal mein Png gezeigt OK zuerst, aber wenn ich es neu übermalt, gibt es mir schwarzen Hintergrund auch .... also dann, wie es zu beheben? :( – gumuruh

Verwandte Themen