mirror of
https://github.com/jneug/zeichenmaschine.git
synced 2026-04-14 14:43:33 +02:00
Weitere Dokumentation
This commit is contained in:
@@ -529,4 +529,42 @@ public class Color {
|
|||||||
return Color.getRGBColor(HSLtoRGB(hsl, getAlpha()));
|
return Color.getRGBColor(HSLtoRGB(hsl, getAlpha()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Color greyscale() {
|
||||||
|
return new Color((int)(getRed()*.299 + getGreen()*.587 + getBlue()*0.114));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Erzeugt eine zu dieser invertierte Farbe.
|
||||||
|
* @return Ein Farbobjekt mit der invertierten Farbe.
|
||||||
|
*/
|
||||||
|
public Color inverted() {
|
||||||
|
//return new Color((0xFFFFFFFF - (0x00FFFFFF & rgba)) | (0xFF000000 & rgba));
|
||||||
|
return new Color(rgba ^ 0x00FFFFFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Erzeugt die Komplementärfarbe zu dieser.
|
||||||
|
* @return Ein Farbobjekt mit der Komplementärfarbe.
|
||||||
|
*/
|
||||||
|
public Color complement() {
|
||||||
|
float[] hsl = RGBtoHSL(rgba, null);
|
||||||
|
hsl[0] = 360 - hsl[0];
|
||||||
|
return new Color(HSLtoRGB(hsl, getAlpha()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wählt entweder {@link #WHITE weiß} oder {@link #BLACK schwarz} aus, je
|
||||||
|
* nachdem, welche der Farben besser als Textfarbe mit dieser Farbe als
|
||||||
|
* Hintergrund funktioniert (besser lesbar ist).
|
||||||
|
* @return Schwarz oder weiß.
|
||||||
|
*/
|
||||||
|
public Color textcolor() {
|
||||||
|
// Basiert auf https://stackoverflow.com/questions/946544/good-text-foreground-color-for-a-given-background-color
|
||||||
|
if( (getRed()*.299 + getGreen()*.587 + getBlue()*0.114) < 186 ) {
|
||||||
|
return WHITE;
|
||||||
|
} else {
|
||||||
|
return BLACK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,19 +139,6 @@ public class Vector extends Point2D.Double {
|
|||||||
return vec;
|
return vec;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Addiert die beiden Vektoren zu einem neuen Vektor.
|
|
||||||
*
|
|
||||||
* @param vector1 Erster Vektor.
|
|
||||||
* @param vector2 Zweiter Vektor.
|
|
||||||
* @return Summenvektor der beiden Vektoren.
|
|
||||||
*/
|
|
||||||
public static Vector add( Vector vector1, Vector vector2 ) {
|
|
||||||
Vector vec = vector1.copy();
|
|
||||||
vec.add(vector2);
|
|
||||||
return vec;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Subtrahiert den zweiten vom ersten Vektor.
|
* Subtrahiert den zweiten vom ersten Vektor.
|
||||||
*
|
*
|
||||||
@@ -320,9 +307,9 @@ public class Vector extends Point2D.Double {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dieser Vektor selbst (method chaining)
|
* Addiert den Vektor {@code vector} zu diesem.
|
||||||
* @param vector
|
* @param vector Ein anderer Vektor.
|
||||||
* @return
|
* @return Dieser Vektor selbst (method chaining)
|
||||||
*/
|
*/
|
||||||
public Vector add( Vector vector ) {
|
public Vector add( Vector vector ) {
|
||||||
x += vector.x;
|
x += vector.x;
|
||||||
@@ -330,12 +317,31 @@ public class Vector extends Point2D.Double {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Addiert die angegebenen Werte zur x- und y-Komponente des Vektors.
|
||||||
|
* @param x Summand x-Komponente.
|
||||||
|
* @param y Summand y-Komponente.
|
||||||
|
* @return Dieser Vektor selbst (method chaining)
|
||||||
|
*/
|
||||||
public Vector add( double x, double y ) {
|
public Vector add( double x, double y ) {
|
||||||
this.x += x;
|
this.x += x;
|
||||||
this.y += y;
|
this.y += y;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Addiert die beiden Vektoren zu einem neuen Vektor.
|
||||||
|
*
|
||||||
|
* @param vector1 Erster Vektor.
|
||||||
|
* @param vector2 Zweiter Vektor.
|
||||||
|
* @return Summenvektor der beiden Vektoren.
|
||||||
|
*/
|
||||||
|
public static Vector add( Vector vector1, Vector vector2 ) {
|
||||||
|
Vector vec = vector1.copy();
|
||||||
|
vec.add(vector2);
|
||||||
|
return vec;
|
||||||
|
}
|
||||||
|
|
||||||
public Vector sub( Vector vector ) {
|
public Vector sub( Vector vector ) {
|
||||||
x -= vector.x;
|
x -= vector.x;
|
||||||
y -= vector.y;
|
y -= vector.y;
|
||||||
|
|||||||
Reference in New Issue
Block a user