package Prty::TimeLapse::File; use base qw/Prty::File::Image/; use strict; use warnings; our $VERSION = 1.112; use Prty::TimeLapse::Filename; # ----------------------------------------------------------------------------- =encoding utf8 =head1 NAME Prty::TimeLapse::File - Bildsequenz-Datei =head1 BASE CLASS L<Prty::File::Image> =head1 SYNOPSIS # Klasse laden use %CLASS; # Instantiiere Bilddatei-Objekt $img = Prty::TimeLapse::File->new('/my/image/dir/000219-3000x2250-G0080108.jpg'); # Nummer $n = $img->number; # 219 # Breite $width = $img->width; # 3000 # Höhe $height = $img->height; # 2250 # Name $name = $img->name; # 'G0080108' # weitere Methoden siehe Basisklasse =head1 DESCRIPTION Ein Objekt der Klasse repräsentiert eine Bilddatei, die Teil einer Bildsequenz ist. Der Dateiname hat den Aufbau NNNNNN-WIDTHxHEIGHT[-NAME].EXT Hierbei ist NNNNNN die Bild-Nummer. =head1 METHODS =head2 Konstruktor =head3 new() - Instantiiere Bilddatei-Objekt =head4 Synopsis $img = $class->new($file); =head4 Description Instantiiere Datei $file als Bilddatei-Objekt und liefere eine Referenz auf dieses Objekt zurück. =head4 Arguments =over 4 =item $file Pfad der Bilddatei. =back =head4 Returns Referenz auf das Bilddatei-Objekt. =cut # ----------------------------------------------------------------------------- sub new { my ($class,$file) = @_; my $nam = Prty::TimeLapse::Filename->new($file); my $self = $class->SUPER::new($file); $self->add( nam=>$nam, rangeKey=>'', ); return $self; } # ----------------------------------------------------------------------------- =head2 Objektmethoden Alle weiteren Methoden befinden sich in der Basisklasse (s. Abschnitt L</"BASE CLASS">). =head3 number() - Nummer des Bildes =head4 Synopsis $n = $img->number; =head4 Description Liefere die Nummer des Bildes als Zahl. Z.B. 47. =head4 Returns Integer >= 1 =cut # ----------------------------------------------------------------------------- sub number { return shift->{'nam'}->number; } # ----------------------------------------------------------------------------- =head3 width() - Breite des Bildes =head4 Synopsis $width = $img->width; =head4 Description Liefere die Breite des Bildes. =head4 Returns Integer >= 1 =cut # ----------------------------------------------------------------------------- sub width { my $self = shift; return $self->{'nam'}->width || $self->SUPER::width; } # ----------------------------------------------------------------------------- =head3 height() - Höhe des Bildes =head4 Synopsis $height = $img->height; =head4 Description Liefere die Höhe des Bildes. =head4 Returns Integer >= 1 =cut # ----------------------------------------------------------------------------- sub height { my $self = shift; return $self->{'nam'}->height || $self->SUPER::height; } # ----------------------------------------------------------------------------- =head3 text() - Text des Dateinamens =head4 Synopsis $text = $img->text; =head4 Description Liefere den Text des Dateinamens. =head4 Returns String =cut # ----------------------------------------------------------------------------- sub text { return shift->{'nam'}->text; } # ----------------------------------------------------------------------------- =head1 VERSION 1.112 =head1 AUTHOR Frank Seitz, L<http://fseitz.de/> =head1 COPYRIGHT Copyright (C) 2017 Frank Seitz =head1 LICENSE This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut # ----------------------------------------------------------------------------- 1; # eof