Anscheinend haben die Grafikklasse und die Farbklasse von Java keine Methode, um nur den Alpha-Wert zu ändern. Daher scheint es gut, eine solche Funktion zu erstellen. Der Verarbeitungsinhalt ist einfach, und wenn Sie ihn nicht oft ausführen, müssen Sie ihn nicht zu einer Funktion machen.
Ändern Sie nur die Transparenz mit der aktuell eingestellten Farbe
public void setAlpha(Graphics g, int alpha) {
int R = g.getColor().getRed();
int G = g.getColor().getGreen();
int B = g.getColor().getBlue();
g.setColor(new Color(R, G, B, alpha));
}
Ist es bequem, Feldfarben (wie Color.RED) zu verwenden?
public void setAlpha(Graphics g, Color color, int alpha) {
int R = color.getRed();
int G = color.getGreen();
int B = color.getBlue();
g.setColor(new Color(R, G, B, alpha));
}
Setzen Sie den Rückgabewert auf Farbe und setzen Sie die letzte Zeile
return new Color(R, G, B, alpha);
Wenn Sie es ändern, können Sie nur die Farbe erhalten.