D
Drea
Gast
Hallo,
ich habe einen HSB-Filter geschrieben, der von Filterbase erbt. Darüber wird mein darzustellendes Bild gefiltert. Hier der wichtigste Code:
Hue, Saturation und Brightness können nun Werte zwischen 0 und 255 annehmen. In meiner Oberfläche befindet sich ein Slider mit welchen ich diese Werte einstelle. Für das Originalbild sind die Einstellungen bei 255. Wenn ich nun den Slider bewege, kann ich z.B. bei Brightness, also Helligkeit, das Bild maximal dunkler machen, also <255. Wie mache ich es aber heller? Der Wert darf ja nicht über 255 steigen. Hab ich hier nen Denkfehler??
Liebe Grüße ... Drea
ich habe einen HSB-Filter geschrieben, der von Filterbase erbt. Darüber wird mein darzustellendes Bild gefiltert. Hier der wichtigste Code:
Code:
public int filterRGB( int x, int y, int rgb ) {
float hsb[] = new float[3];
int r = rgb & 0x00FF0000;
int g = rgb & 0x0000FF00;
int b = rgb & 0x000000FF;
r >>>= 16;
g >>>= 8;
Color.RGBtoHSB( r, g, b, hsb );
hsb[0] *= (float)hue_ / 255;
hsb[1] *= (float)saturation_ / 255;
hsb[2] *= (float)brightness_ / 255;
rgb = Color.HSBtoRGB( hsb[0], hsb[1], hsb[2] );
return rgb;
}
Hue, Saturation und Brightness können nun Werte zwischen 0 und 255 annehmen. In meiner Oberfläche befindet sich ein Slider mit welchen ich diese Werte einstelle. Für das Originalbild sind die Einstellungen bei 255. Wenn ich nun den Slider bewege, kann ich z.B. bei Brightness, also Helligkeit, das Bild maximal dunkler machen, also <255. Wie mache ich es aber heller? Der Wert darf ja nicht über 255 steigen. Hab ich hier nen Denkfehler??
Liebe Grüße ... Drea