mirror of
https://codeberg.org/qg-info-unterricht/zpg-graphentester.git
synced 2026-03-24 20:48:26 +01:00
55 lines
1.5 KiB
Java
55 lines
1.5 KiB
Java
package imp;
|
|
|
|
import java.awt.Color;
|
|
|
|
/**
|
|
* Hilfsklasse für das HSB-Farbmodell
|
|
*
|
|
* @author Thomas Schaller
|
|
* @version V1.0 14.01.2020
|
|
*/
|
|
|
|
public class HSB
|
|
{
|
|
/**
|
|
* Liefert den Farbton als Winkel zwischen 0.0° und 360.0°.
|
|
* @param Color c Farbe, deren Farbton bestimmt werden soll.
|
|
* @return Farbton
|
|
*/
|
|
public static double getHue(Color c) {
|
|
float[] hsb = Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), null);
|
|
return hsb[0];
|
|
}
|
|
|
|
/**
|
|
* Liefert die Sättigung als Wert zwischen 0.0 (0%) und 1.0 (100%).
|
|
* @param Color c Farbe, deren Sättigung bestimmt werden soll.
|
|
* @return Sättigung
|
|
*/
|
|
public static double getSaturation(Color c) {
|
|
float[] hsb = Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), null);
|
|
return hsb[1];
|
|
}
|
|
|
|
/**
|
|
* Liefert die Helligkeit als Wert zwischen 0.0 (0%) und 1.0 (100%).
|
|
* @param Color c Farbe, deren Helligkeit bestimmt werden soll.
|
|
* @return Sättigung
|
|
*/
|
|
public static double getBrightness(Color c) {
|
|
float[] hsb = Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), null);
|
|
return hsb[2];
|
|
}
|
|
|
|
/**
|
|
* Liefert ein Java-Color-Objekt mit den angegebenen HSB-Werten.
|
|
* @param h Farbton (Hue)
|
|
* @param s Sättigung (Saturation)
|
|
* @param b Brightness (Helligkeit)
|
|
* @return Java-Color-Objekt
|
|
*/
|
|
public static Color getColor(double h, double s, double b) {
|
|
return new Color(Color.HSBtoRGB((float) h, (float) s, (float) b));
|
|
}
|
|
|
|
}
|