The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::Gd::Component::ColorLegend - Legende zu einem Farb-Plot

BASE CLASS

Quiq::Gd::Component

DESCRIPTION

Grafischer Aufbau der Legende:

    [SVG kann nicht in POD eingebettet werden]

ATTRIBUTES

width => $int (Default: keiner)

Breite der Legende in Pixeln.

axisColor => $color (Default: keiner)

Farbe der Achse, also der Linie und der Ticks.

colors => \@colors (Default: [])

Array der Farben.

min => $float (Default: keiner)

Kleinster Wert des Wertebereichs.

max => $float (Default: keiner)

Größter Wert des Wertebereichs.

logarithmic => $bool (Default: 0)

Die Skala erhält eine logarithmische Einteilung (Basis 10).

labelColor => $color (Default: keiner)

Farbe der Beschriftung.

labelFont => $font (Default: keiner)

Font für die Beschriftung.

blockWidth => $int (Default: keiner)

Breite der Überschreitungsblöcke in Pixeln. Hat nur eine Bedeutung, wenn ltColor und/oder gtColor definiert sind.

blockHeight => $int (Default: keiner)

Höhe der Farbblöcke in Pixeln.

blockGap => $int (Default: keiner)

Lücke zwischen den Farbblöcken in Pixeln. Hat nur eine Bedeutung, wenn blockLtColor und/oder blockGtColor definiert sind.

blockLtColor => $color (Default: keiner)

Farbe des Blocks, der die Werte, die min unterschreiten, repräsentiert.

blockGtColor => $color (Default: keiner)

Farbe des Blocks, der die Werte, die max überschreiten, repräsentiert.

title => $str (Default: undef)

Titel (optional).

titleColor => $color (Default: keiner)

Farbe des Titels.

titleFont => $font (Default: keiner)

Font des Titels.

titleGap => $int (Default: keiner)

Vertikale Lücke zwischen dem Titel und den Farbblöcken in Pixeln.

EXAMPLE

Eine Farblegende mit Titel. Die Höhe des Bildes geben wir nicht vor, sie richtet sich nach der Höhe der Grafik. Wir ermitteln sie mit $g->height. Die Farben definieren wir erst beim Rendern, da das Bild bei der Instantiierung des Grafik-Objekts noch nicht existiert.

  my $width = 400;
  
  my $g = Quiq::Gd::Component::ColorLegend->new(
      title => 'Test',
      titleFont => Quiq::Gd::Font->new('Blob/font/pala.ttf,14'),
      labelFont => Quiq::Gd::Font->new('Blob/font/pala.ttf,10'),
      width => $width,
      min => 0,
      max => 100,
      logarithmic => 0,
      blockWidth => 50,
      blockHeight => 18,
      blockGap => 20,
  );
  
  $img = Quiq::Gd::Image->new($width,$g->height);
  my $white = $img->background('ffffff');
  $img->transparent($white);
  
  $g->render($img,0,0,
      colors => scalar $img->rainbowColors(512),
      blockLtColor => $img->color('000080'),
      blockGtColor => $img->color('ff00ff'),
      titleColor => $img->color('ff00ff'),
      labelColor => $img->color('ff00ff'),
  );

Erzeugte Grafik (der Rahmen ist per CSS hinzugefügt):

    [Bild nur im Browser sichtbar]

METHODS

Konstruktor

new() - Konstruktor

Synopsis

  $g = $class->new(@keyVal);

Description

Instantiiere die Legende mit den Eigenschaften @keyVal (s. Abschnitt ATTRIBUTES) und liefere eine Referenz auf das Objekt zurück.

Zeichnen

render() - Zeichne Legende

Synopsis

  $g->render($img,$x,$y,@keyVal);
  $class->render($img,$x,$y,@keyVal);

Description

Zeichne die Legende in Bild $img an Position ($x,$y).

Objektmethoden

height() - Höhe der Farb-Legende

Synopsis

  $height = $g->height;

Description

Liefere die Höhe der Legende. Die Höhe wird aus den Komponenten berechnet.

VERSION

1.165

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2019 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.