Album
view release on metacpan or search on metacpan
script/album view on Meta::CPAN
# CLP0nnnn.GIF clip motion file
# CLP0nnnn.HTM clip motion file index
# MBL0nnnn.GIF clip motion file, mobile mode
# MBL0nnnn.HTM clip motion file index, mobile mode
# MOV0nnnn.MPG movie
# Files marked with * have a normal still image associated.
# Normal still image.
if ( $file =~ /^(.{4})(\d{4})\.($picpat)$/i ) {
my ($type, $seq, $ext) = ($1, $2, $3);
my $fd = $el->DateTime || "";
if ( $fd =~ /(\d\d\d\d):(\d\d):(\d\d) (\d\d):(\d\d):(\d\d)/ ) {
my $time = timelocal($6,$5,$4,$3,$2-1,$1);
my $new = "$1$2$3$4$5$6$seq";
my $ii = cache_entry("$new.$ext");
if ( $ii && !$ii->orig_name ) {
$ii->orig_name(fjoin($import_dir, $file));
}
$el->type(T_JPG);
$el->dest_name("$new.$ext");
script/album view on Meta::CPAN
sub restyle_exif($) {
my ($el) = @_;
my $ret = "";
my $v;
my $app = sub {
$ret .= "<tr><td>".htmln($_[0])."</td>".
"<td>".htmln($_[1])."</td></tr>\n";
};
$app->("Date", $v) if $v = $el->DateTime;
my $t = $el->ExposureTime || 0;
if ( $t && $t <= 0.5 ) {
$t = "1/".int(0.5 + 1/$t)."s";
}
$app->("Exposure",
join(" ", $el->ExposureMode || "",
$el->ExposureProgram || "", $t));
$app->("Aperture", sprintf("%.1f", $v))
if $v = $el->FNumber;
if ( $v = $el->FocalLength ) {
script/album view on Meta::CPAN
my @exif_fields;
my $exif_rot;
INIT {
@std_fields = qw(type seq next prev
dest_name orig_name assoc_name
timestamp file_size medium_size
tag description annotation
rotation mirror);
@exif_fields = qw(DateTime ExifImageLength ExifImageWidth
ExposureMode ExposureProgram ExposureTime
FNumber Flash FocalLength ISOSpeedRatings
ImageDescription Make Model
MeteringMode SceneCaptureType Orientation
height width file_ext);
$exif_rot = { top_left => [ 0, '' ], # 1: no corr. needed
top_right => [ 0, 'v' ], # 2: flop (V)
bot_right => [ 180, '' ], # 3: 180
bot_left => [ 0, 'h' ], # 4: flip (H)
( run in 0.253 second using v1.01-cache-2.11-cpan-05444aca049 )