Thread PerlMagick: Gleichgroße Bilder (9 answers)
Opened by Froschpopo at 2007-07-20 22:34

sid burn
 2007-07-21 02:01
#78731 #78731
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl
use warnings;
use strict;
use Image::Magick;

my $filename = shift;
my $target   = $filename;
   $target =~ s/(\..*$)/_thumb$1/;

my $image = new Image::Magick;

$image->Read( $filename );
my ($width, $height) = $image->get('width', 'height');

if ( $width > $height ) {
    my $diff = $width - $height;
    $width -= $diff;
    my $xoffset = ( $diff / 2 );
    $image->Crop( geometry => "${width}x$height+$xoffset+0" );
}
else {
    my $diff = $height - $width;
    $height -= $diff;
    my $yoffset = ( $diff / 2 );
    $image->Crop( geometry => "${width}x$height+0+$yoffset" );
}

$image->Scale( width => 100, height => 100 );
$image->Write( $target );


Extra ohne Kommentare! ;)
Verstehen musst es jetzt selber. ;)

P.S.: Aber vielleicht gibt es ja eine bessere Lösung, kenne mich mit Image::Magick auch nicht sooo super aus.\n\n

<!--EDIT|sid burn|1184968979-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread PerlMagick: Gleichgroße Bilder