Quiq::Color - Eine Farbe des RGB-Farbraums
Quiq::Object
use Quiq::Color; # Instantiierung $col = Quiq::Color->new(255,0,0); # aus dez. RGB-Tripel $col = Quiq::Color->new('ff0000'); # aus hex. RGB-String # Helligkeit $brightness = $col->brightness; # 0 .. 255 # Farbname $col->name('red'); # setzen $name = $col->name; # abfragen # Externe Repräsentation $hex = $col->hexString; # 'ff0000' - hex. RGB-String @rgb = $col->rgb; # (255,0,0) - dez. RGB-Tripel
Ein Objekt der Klasse repräsentiert eine Farbe des RGB-Farbraums, also ein Tripel (R, G, B). Das Objekt kann aus verschiedenen externen Repräsentationen instantiiert werden und seinerseits verschiedene externe Repräsentationen liefern. Ferner kann die Helligkeit der Farbe ermittelt werden, was für eine Fontauswahl nützlich sein kann. Außerdem kann der Farbe ein Name zugewiesen werden.
$col = $class->new($r,$g,$b); $col = $class->new(\@rgb); $col = $class->new('rrggbb'); $col = $class->new('#rrggbb');
Instantiiere eine RGB-Farbe und liefere eine Referenz auf das Objekt zurück.
$brightness = $col->brightness;
Liefere die Helligkeit der Farbe im Wertebereich 0 (schwarz) bis 255 (weiß). Bei einem Wert < 128 ist die Farbe dunkel, andernfalls hell.
Die Methode kann genutzt werden um zu entscheiden, welche Textfarbe auf einem Hintergrund mit der Farbe genutzt werden sollte.
Die Helligkeitsberechnung erfolgt auf Grundlage der Heuristik:
$brightness = sqrt 0.299*$r**2 + 0.587*$g**2 + 0.114*$b**2;
http://fseitz.de/blog/index.php?/archives/112-Helligkeit-von-Farben-des-RGB-Farbraums-berechnen.html
$col = Quiq::Color->new('ff0000'); $brightness = $col->brightness; -> 139.44
$name = $col->name($name); $name = $col->name;
Das Farbobjekt besitzt zunächst keinen Namen. Mit dieser Methode kann der Farbe jedoch ein Name zugewiesen und abgefragt werden.
Wurde dem Farbobjekt kein Name zugewiesen, liefert die Methode einen Leerstring.
my $col = Quiq::Color->new(255,0,0); $col->name('red'); $name = $col->name; -> 'red'
$hexStr = $col->hexString;
Liefere den Farbwert der Farbe als Hex-String
$col = Quiq::Color->new(255,255,255); $hexStr = Quiq::Color->hexString; -> 'ffffff'
@rgb | $rgbA = $col->rgb;
Liefere den Farbwert als Liste von dezimalen Werten mit den Komponenten R, G, B. Im Skalarkontext liefere eine Referenz auf die Liste.
$col = Quiq::Color->new('ffffff'); @rgb = Quiq::Color->rgb; -> (255,255,255)
1.207
Frank Seitz, http://fseitz.de/
Copyright (C) 2023 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.