NAME

Quiq::Color - Eine Farbe des RGB-Farbraums

BASE CLASS

Quiq::Object

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

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.222

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.