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

NAME

Quiq::Image - Operationen im Zusammenhang mit Bildern/Bilddateien

BASE CLASS

Quiq::Object

METHODS

Klassenmethoden

aspectRatio() - Seitenverhältnis eines Bildes

Synopsis

  $aspectRatio = $this->aspectRatio($width,$height);

Description

Liefere das Seitenverhältnis eines Bildes, gegeben dessen Breite und Höhe. Mögliche Rückgabewerte: '16:9', '4:3' oder (bei anderen Seitenverhltnissen) der Quotient $width/$height.

edit() - Editiere Bild mit Bildbearbeitungsprogramm

Synopsis

  $class->edit($file,@opt);

Arguments

$file

Pfad der Bilddatei.

Options

-backupDir => (Default: undef)

Sichere die unbearbeitete Bilddatei nach $dir.

-program => $program (Default: 'gimp')

Nutze Programm $program zum Editieren des Bildes.

Description

Editiere Bilddatei $file mit Programm $program. Ist ein Backupverzeichnis $backupDir gegeben, wird die unbearbeitete Datei unter einer laufenden Nummer plus Extension dorthin gesichert, aber nur, wenn die Bilddatei tatsächlich geändert wurde.

findImages() - Suche Bild-Dateien

Synopsis

  @files|$fileA = $class->findImages(@filesAndDirs);
  @images|$imageA = $class->findImages(@filesAndDirs,-objects=>1);

Options

-object => $class (Default: undef)

Liefere Objekte vom Typ $class statt Dateinamen.

-sort => 'mtime'|'name' (Default: undef)

Sortiere die Bilder primär nach Zeit (und sekundär nach Name) oder nach Name. Per Default werden die Bilder unsortiert geliefert.

Description

Liefere die Liste aller Bild-Dateien, die in @filesAndDirs vorkommen. Vereichnisse werden rekursiv nach Bild-Dateien durchsucht. Als Bild-Dateien werden alle Dateien angesehen, die eine Bild-Extension (.jpg, .png, .gif) besitzen. Bei Dateien ohne Extension wird mittels Quiq::Image->type() geprüft, ob es sich um eine Bild-Datei handelt.

standardName() - Standard-Name eines Bildes

Synopsis

  $standardName = $class->standardName($n,$width,$height,$extension,@opt);

Options

-name => $name

Ergänzender Text zum Bild.

Description

Erzeuge einen Standard-Bild-Namen und liefere diesen zurück. Ein Standard-Bild-Name hat den Aufbau:

  NNNNNN-WIDTHxHEIGHT[-NAME].EXT

Hierbei ist:

NNNNNN

Die Bildnummer $i. Diese wird mit führenden Nullen auf sechs Stellen gebracht.

WIDTH

Die Breite des Bildes.

HEIGHT

Die Höhe des Bildes.

NAME

Ein ergänzender Text zum Bild. Dieser ist optional. Leerzeichen werden durch Bindestriche (-) ersetzt.

EXT

Die Datei-Endung, die sich aus dem Typ des Bildes ableitet, z.B. 'jpg', 'png', 'gif' usw.

type() - Typ einer Bilddatei

Synopsis

  $type = $class->type($file,@opt);

Options

-enum => $i (Default: 0)

Die Typbezeichnung, die geliefert wird:

Wert: 0 oder nicht angegeben

'jpg', 'png', 'gif'

Wert: 1

'jpeg', 'png', 'gif'

-sloppy => $bool (Default: 0)

Wirf keine Exception, wenn der Bild-Typ nicht erkannt wird, sondern liefere einen Leerstring ('').

Description

Ermittele den Typ der Bilddatei $file anhand seiner Magic-Bytes und liefere diesen zurück. Drei Bildtypen werden erkannt:

  • JPEG

  • PNG

  • GIF

Wird der Bildtyp nicht erkannt, wirft die Methode eine Exception, sofern nicht die Option -sloppy gesetzt ist.

Anstelle eines Dateinamens kann auch eine Skalarreferenz (in-memory Bild) übergeben werden.

VERSION

1.186

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2020 Frank Seitz

LICENSE

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