NAME
Quiq::Color - Eine Farbe des RGB-Farbraums
BASE CLASS
SYNOPSIS
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
DESCRIPTION
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.
METHODS
Konstruktor
new() - Konstruktor
Synopsis
$col = $class->new($r,$g,$b);
$col = $class->new(\@rgb);
$col = $class->new('rrggbb');
$col = $class->new('#rrggbb');
Description
Instantiiere eine RGB-Farbe und liefere eine Referenz auf das Objekt zurück.
Farbeigenschaften
brightness() - Helligkeit der Farbe
Synopsis
$brightness = $col->brightness;
Description
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;
See Also
http://fseitz.de/blog/index.php?/archives/112-Helligkeit-von-Farben-des-RGB-Farbraums-berechnen.html
Example
$col = Quiq::Color->new('ff0000');
$brightness = $col->brightness;
-> 139.44
name() - Setze/Liefere Farbname
Synopsis
$name = $col->name($name);
$name = $col->name;
Description
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.
Example
my $col = Quiq::Color->new(255,0,0);
$col->name('red');
$name = $col->name;
-> 'red'
Externe Repräsentationen
hexString() - Farbwert als Hex-String
Synopsis
$hexStr = $col->hexString;
Description
Liefere den Farbwert der Farbe als Hex-String
Example
$col = Quiq::Color->new(255,255,255);
$hexStr = Quiq::Color->hexString;
-> 'ffffff'
rgb() - Farbwert als Liste von dezimalen Werten
Synopsis
@rgb | $rgbA = $col->rgb;
Description
Liefere den Farbwert als Liste von dezimalen Werten mit den Komponenten R, G, B. Im Skalarkontext liefere eine Referenz auf die Liste.
Example
$col = Quiq::Color->new('ffffff');
@rgb = Quiq::Color->rgb;
-> (255,255,255)
VERSION
1.220
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2024 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.