Avatar billede nazaq Nybegynder
02. august 2001 - 14:23 Der er 4 kommentarer og
1 løsning

image::magick info søges

Hej.

Nu har jeg snart surfet nettet tyndt for at lære om imagemagick modulet og jeg er faktisk ikke kommet ret langt. Er der nogle af jer derude der kan hjælpe??

historien til nu er...
win2000 pro. med perl fra Activestate (5.6.1.628) perl kører og befinder sig i c:\\perl.
Har installeret image-magick via ppm (ppm install image_magic) Den hentede ca. 1 mb så den er vel iorden.
Hentede image-magick fra www.imagemagick.org (win2k binary) pakkede den ud i c:\\imagemagick\\ og fulgte instruktioner om at skrive \"identify -verbose logo:\" hvorefter der kom en masse om en gif?
Testet med ...
#!/usr/bin/perl

use strict;
use Image::Magick;
sub resize_image;

resize_image(\"test.jpg\",\"xyz.jpg\",100,100);
exit;

sub resize_image  {
    my ($source,$destination,$tw,$th) = @_;
    my ($image,$e,$w,$h,$s,$nw,$nh,$nx,$ny);

    print \"resize  $source => $destination ${tw}x${th}\\n\";

    eval {                                                  # eval {} will catch any exceptions
        $image = Image::Magick->new(magick=>\'JPEG\');
        $e = $image->Read($source);
[stopper her]^^^^^^^^^^^^^^^^^^^^

Dette er hvad jeg har gjort indtil nu, hvad mangler jeg??

/NaZaq

Avatar billede mahler Nybegynder
03. august 2001 - 07:36 #1
Jeg har IKKE prøvet ImageMagick på Windows, men følgende script virkede på Linux med ImageMagick, måske kan det hjælpe dig videre...

#!/usr/bin/perl -w

# use strict;
use Image::Magick;

my($filename)= \"billede31.gif\"; #@_;
# my $image = Image::Magick->new(magick=>\'JPEG\');
my $image = Image::Magick->new(magick=>\'GIF\');

print \"$filename\\n\";
open(DATA, $filename) or return 0;
        $image->Read(file=>DATA);
close(DATA);

my $str = $image->Get(\'filesize\');
print \"size inden $str\\n\";
my $format = $image->Get(\'format\');
print \"format inden $format\\n\";
my $width1 = $image->Get(\'width\');
print \"width inden $width1\\n\";
my $height1 = $image->Get(\'height\');
print \"height inden $height1\\n\\n\";

my($width,$height)= $image->Get(\"width\",\"height\");
my $scale= 150 / $width;
$image->Scale(width => $width*$scale, height => $height*$scale);
$image->Crop(width => $width*$scale, height => $height*$scale);


my $stre = $image->Get(\'filesize\');
print \"size efter $stre\\n\";
$format = $image->Get(\'format\');
print \"format efter $format\\n\";
$width1 = $image->Get(\'width\');
print \"width efter $width1\\n\";
$height1 = $image->Get(\'height\');
print \"height efter $height1\\n\";


$image->Condense;

$filename =~ s/(\\.\\w+)$/-test$1/;

open(DATA, \">$filename\") or return 0;
$image->Write(file=>DATA, filename=>$filename);
close(DATA);
Avatar billede nazaq Nybegynder
06. august 2001 - 08:43 #2
Mahler:
Desværre køre din kode heller ikke den exiter ved
my $image = Image::Magick->new(magick=>\'GIF\');

/NaZaq
Avatar billede mahler Nybegynder
06. august 2001 - 09:38 #3
Det er sandsynligvis fordi du har en rimeligt ny udgave af ImageMagick. De nyere udgaver understøtter ikke løngere GIF, så det skal laves om til PNG.
Avatar billede nazaq Nybegynder
06. august 2001 - 15:40 #4
Ja det ville være rart :-)
Men ak... det er ikke her problemet ligger.

/NaZaq
Avatar billede nazaq Nybegynder
05. september 2001 - 14:21 #5
Hmmm jeg trækker points tilbage
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester