# java.awt.Image => Alpha Kanal



## Alien (7. Jan 2009)

Hallo,

hoffe, ihr könnt mir helfen. Habe ein Problem und weiß nicht wirklich, wie ich es lösen kann.



```
import java.awt.*;
import java.awt.SystemTray;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.*;

//....

protected void start()
{
   //...
   final TrayIcon trayIcon;
   SystemTray tray = SystemTray.getSystemTray();
   Image image = Toolkit.getDefaultToolkit().getImage("image.png");
   PopupMenu popup = new PopupMenu();
   trayIcon = new TrayIcon(image, "InfoText", popup);
   try {
      tray.add(trayIcon);
   } catch (AWTException e) {
      System.err.println("TrayIcon could not be added.");
   }
   //...
}

//...
```

Habe jetzt nicht den ganzen Code gepostet. Funktioniert ja alles soweit. Problem ist nur, dass nicht der Alpha-Kanal genutzt werden kann. Wie kann ich den aktivieren?

Schonmal danke für die Hilfe.

MfG
Alien


----------



## Ebenius (8. Jan 2009)

Auf welcher Plattform? Hat es eventuell mit Sun Java Bug 6453521 zu tun?

Grüße, Ebenius


----------



## Alien (8. Jan 2009)

Java läuft bei mir auf XP SP2 und ich nutze das Java SE Development Kit (JDK) 6 Update 11.

Kann sein, dass es mit Sun Java Bug 6453521 zu tun hat. Was kann man dagegen tun?

MfG
Alien


----------



## Ebenius (8. Jan 2009)

Mach halt ein 1/0-transparentes PNG. Das sollte mit Windows klappen. Mehr weiß ich auch nicht. Leider.

Ebenius


----------



## Alien (8. Jan 2009)

Trotzdem danke Danke für deine Mühe!

Habe es hinbekommen!
Habe folgende Eigenschaft auf false geändert: trayIcon.setImageAutoSize(false);
Jetzt wird das Icon nicht mehr angepasst, sondern einfach so genommen wie es ist! Sprich: wenn zu viel ist, wird es abgeschnitten. (umgekehrt habe ich nicht probiert, ist aber auch egal)

Hatte das Format 32x32. Dann hatte Java das schlecht verkleinert. Es war kantig. Außerdem war noch so ein grauer Hintergrund. Habe das png-Icon auf 16x16 verkleinert. Jetzt waren die Kanten nicht mehr. 

Lösung für den grauen Hintergrund. Man muss, wenn man das png-Icon abspeichert, die Bit-Tiefe auf 8-Bit setzen. Habe das Icon mit Paint.Net bearbeitet. Da gab es dann noch die Möglichkeit beim abspeichern, das "Dithering-Level" auf 8 und den "Tranzparenz-Schellenwert" auf 200 zu setzen. Das Icon sieht jetzt super aus!

Also:
trayIcon.setImageAutoSize(false);
PNG-Icon => 16x16 => Bit-Tiefe 8-Bit => Dithering-Level" auf 8 => "Tranzparenz-Schellenwert" auf 200
Fertig!

MfG
Alien


----------

