@@Dodwin:
nuqneH
Erst mal RGB-Werte auslesen:
$rgb = array(substr($hex,0,2), ...);
Wo bekommst du $hex
her? Aus dem Stylesheet?
Bei der Angabe "#FF0000" stünde noch '#' davor.
Dieselbe Farbe kann aber auch als "#F00" angegeben werden.
Dieselbe Farbe kann aber auch als "rgb(255, 0, 0)" angegeben werden.
Dieselbe Farbe kann aber auch als "red" angegeben werden.
Anschließend Durchschnitt berechnen:
$average = (hexdec($rgb[0]) + ...) / 3;
Nein. Das ergäbe für "#FF0000", "#00FF00" und "#0000FF" denselben Mittelwert 85. "#00FF00"/"green" erscheint aber viel heller als "#FF0000"/"red" und "#0000FF"/"blue".
Deshalb ist für die (vom menschlichen Auge wahrgenommene) Helligkeit ein gewichteter Mittelwert zu berechnen:
0.299 * R + 0.587 * G + 0.114 * B (YUV-Farbmodell)
Qapla'
Volumen einer Pizza mit Radius z und Dicke a: pi z z a