Impressum DatenschutzerklärungDiese Seite per HTTPS ansehen.


mit Farben rechnen geschrieben am 08.05.2011

Für das einfache abdunkeln, aufhellen oder ausgrauen von einer Farbe habe ich folgende Funktionen geschrieben:

Farbe nach schwarz abdunkeln:

ActionScript3private function farbedunkler(farbe:Number, dunkler:Number=1):Number {//1=Originalfarbe 0=schwarz //Multiplikator Bereichsprüfung if (dunkler > 1) dunkler = 1; if (dunkler < 0) dunkler = 0; //Farbe in rgb zerlegen und abdunkeln var r:Number = ((farbe >> 16)*dunkler) & 0xff; var g:Number = (((farbe >> 8) & 0xff)*dunkler) & 0xff; var b:Number = ((farbe & 0xff)*dunkler) & 0xff; var re:Number= (r << 16) + (g << 8) + b; return re; }

Farbe nach weiß aufhellen:

ActionScript3private function farbeheller(farbe:Number, heller:Number=1):Number {//0=Originalfarbe 1=weiß //Gültigkeitsbereich des Multiplikators if (heller > 1) heller = 1; if (heller < 0) heller = 0; //Farbe in rgb zerlegen var r:Number = (farbe >> 16) & 0xff; var g:Number = (farbe >> 8) & 0xff; var b:Number = farbe & 0xff; //Farbe aufhellen r = (r +(255 - r) * heller) & 0xff; g = (g +(255 - g) * heller) & 0xff; b = (b +(255 - b) * heller) & 0xff; var re:Number= (r << 16) + (g << 8) + b; return re; }

Farbe ausgrauen (08.10.2011 aktualisiert):

ActionScript3 private function farbegrau(farbe:Number, grau:Number=1):Number {//0=Originalfarbe 1=grau //Gültigkeitsbereich des Multiplikators if (grau > 1) grau = 1; if (grau < 0) grau = 0; //Farbe in rgb zerlegen var r:Number = (farbe >> 16) & 0xff; var g:Number = (farbe >> 8) & 0xff; var b:Number = farbe & 0xff; var grauton:Number = (0.299 * r + 0.587 * g + 0.114 * b)& 0xff;//Grau der Farbe //Farbe anteilig nach Grau verschieben if (r > grauton) r = (grauton +(r - grauton) * (1-grau))& 0xff; else r = (r + (grauton - r) * grau) & 0xff; if (g > grauton) g = (grauton +(g - grauton) * (1-grau))& 0xff; else g = (g + (grauton - g) * grau) & 0xff; if (b > grauton) b = (grauton +(b - grauton) * (1-grau))& 0xff; else b = (b + (grauton - b) * grau) & 0xff; var re:Number= (r << 16) + (g << 8) + b; return re; }


schreibe den ersten Kommentar:


Inhalt zur freien Verwendung gibs es beim Thema Downloads.
nach oben springen
mehr auf: Instagram, github, thingiverse