The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Prty::ImageSequence::Directory - Bildsequenz-Verzeichnis

BASE CLASS

Prty::Hash

SYNOPSIS

    # Klasse laden
    use %CLASS;
    
    # Instantiiere Bildsequenz
    $seq = Prty::ImageSequence::Directory->new('/my/image/dir');
    
    # Anzahl der enthaltenen Bilder
    $n = $seq->count;
    
    # Niedrigste Bildnummer
    $n = $seq->minNumber;
    
    # Höchste Bildnummer
    $n = $seq->maxNumber;
    
    # alle Bilder
    @images = $seq->images;
    
    # Bereich von Bildern
    
    @images = $seq->images('113-234');
    @images = $seq->images('290-');
    @images = $seq->images('422');
    
    # Lookup eines Bildes
    $img = $seq->image(422);

DESCRIPTION

Ein Objekt der Klasse repräsentiert eine Sequenz (eine geordnete Liste) von Bildern, die in einem Verzeichnis gespeichert sind. Die Bild-Dateinamen haben den Aufbau

    NNNNNN-WIDTHxHEIGHT[-NAME].EXT

Hierbei ist NNNNNN die Bild-Nummer. Die Bilder sind nach ihrer Bild-Nummer geordnet. Ferner sind die Bilder nach ihrer Bild-Nummer indiziert, so dass sie effizient über die Bild-Nummer nachgeschlagen werden können.

ATTRIBUTES

imageA

Array der Bild-Objekte des Verzeichnisses, nach Bild-Nummer sortiert.

imageH

Hash der Bild-Objekte, mit Bild-Nummer als Schlüssel.

METHODS

Konstruktor

new() - Instantiiere Bildsequenz-Objekt

Synopsis

    $seq = $class->new($dir);

Description

Instantiiere ein Bildsequenz-Objekt aus den Bildern in Verzeichnis $dir und liefere eine Referenz auf dieses Objekt zurück.

Arguments

$dir

Bild-Verzeichnis.

Returns

Referenz auf Bild-Sequenz-Objekt

Objektmethoden

count() - Anzahl der Bilder

Synopsis

    $n = $seq->count;

Description

Liefere die Anzahl der in der Sequenz enthaltenen Bilder.

Returns

Integer >= 0

minNumber() - Niedrigste Bildnummer

Synopsis

    $n = $seq->minNumber;

Description

Liefere die niedrigste Bildnummer. Die niedrigste Bildnummer ist die Nummer des ersten Bildes. Ist die Liste leer, liefere 0.

Returns

Integer >= 0

maxNumber() - Höchste Bildnummer

Synopsis

    $n = $seq->maxNumber;

Description

Liefere die höchste Bildnummer. Die höchste Bildnummer ist die Nummer des letzten Bildes. Ist die Liste leer, liefere 0.

Returns

Integer >= 0

Bilder

images() - Liste von Bild-Objekten

Synopsis

    @images|$imageA = $seq->images;
    @images|$imageA = $seq->images($range);

Description

Liefere die Liste aller Bild-Objekte oder die Liste der Bild-Objekte des Range $range. Bild-Nummern, zu denen kein Bild exisitert, werden übergangen.

Arguments

$range

Bild-Nummer oder Bild-Nummern-Bereich. Mögliche Angaben:

    N    - Bild mit Nummer N
    N-M  - Bilder von Nummer N bis M (aufsteigend)
    M-N  - Bilder von Nummer M bis N (absteigend)
    N-   - Bilder von Nummer N bis zum letzten Bild
    -M   - Bilder vom ersten Bild bis Bild M

Returns

Liste der Bild-Objekte. Im Skalarkontext liefere eine Referenz auf die Liste.

image() - Lookup Bild-Objekt nach Bild-Nummer

Synopsis

    $img = $seq->image($n);

Description

Liefere das Bild-Objekt mit Bild-Nummer $n. Existiert keine Bild-Objekt mit Nummer $n, liefere undef.

Arguments

$n

Bild-Nummer

Returns

Bild-Objekt oder undef.

VERSION

1.099

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2016 Frank Seitz

LICENSE

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