Im Ändern der Größe .png Bild mit transparencity anzeigt, die auch standardmäßig funktioniert ... bis die Größe ich das Bild:Java, SWT, das Bild transparencity verloren geht, wenn
public Image resize(Image image, int width, int height)
{
Image scaled = new Image(Display.getDefault(), width, height);
scaled.getImageData().transparentPixel = image.getImageData().transparentPixel;
GC gc = new GC(scaled);
gc.setAntialias(SWT.ON);
gc.setInterpolation(SWT.HIGH);
gc.drawImage(image, 0, 0,image.getBounds().width, image.getBounds().height, 0, 0, width, height);
gc.dispose();
return scaled;
}
dann wird die Transparenz, weg kann ich Siehe die "weiße" Farbe
leider seine nicht funktioniert, Transparenz ist immer noch verschwunden (und gc.dispose() bis zur letzten Zeile gehen sollte, da gs noch verwendet wird) –
Möglicherweise werden die Bilddatenformate sind unterschiedlich, wobei in diesem Fall Ausarbeiten der Wert für das transparente Pixel ist härter. Versuchen Sie etwas wie 'imageData.transparentPixel = imageData.getPixel (0, 0);', das das oberste linke Pixel als transparente Farbe verwendet. –
es funktioniert, aber es ist nicht immer der Fall :))) –