@Garu: This really works! ($target_image on print $fh, anything else was 
perfect). I'm so happy!!! Thank you!

 

     breno <oainikus...@gmail.com> schrieb am 2:54 Montag, 19.Januar 2015:
   

 On Sun, Jan 18, 2015 at 6:47 PM, Daniel <danielsw...@yahoo.de> wrote:


@Garu: I tried to follow the steps under WARNING and that didn't work, thats 
why I was writing this call for help...


Hi Daniel,

your problem doesn't seem to be with Wx, but with ImageMagick (the external 
library), and I think you should concentrate your efforts in "how to install 
ImageMagick on Windows 7", and only then you should worry about the 
Image::Magick Perl module (and only after that with Wx::Perl::Imagick, if at 
all).

When you say "that didn't work", what do you mean? Which step of that tutorial 
failed? How did it fail? Are there any error messages we can look at in order 
to help you out?

I've tried expanding the original tutorial below, hopefully it helps:

1. figure out whether your Citrus perl is 32 or 64 bits (you should be able to 
tell from the output of "perl -V")
2. figure out whether your Win7 is 32 or 64 bit => 
http://pcsupport.about.com/od/windows7/ht/windows-7-32-bit-64-bit.htm
3. Make sure both Citrus perl and ImageMagick match your systems, whether it's 
32 or 64 bits
4. download the appropriate binary for ImageMagick:
    - 64-bit Win7: 
http://www.imagemagick.org/download/binaries/ImageMagick-6.9.0-4-Q8-x64-dll.exe
    - 32-bit Win7: 
http://www.imagemagick.org/download/binaries/ImageMagick-6.9.0-4-Q16-x86-dll.exe
5. Run the file you just downloaded and follow the installation wizard. 
    - ***make sure*** the Wizard installs the development files 
(libraries+headers)
6. after the installation is complete, go to the command line and type: 
"convert logo: logo.gif" (without quotes) to make sure it's installed 
successfully;
7. if everything went ok, try and install Image::Magick from CPAN one more time.

If you have more trouble, I advise you go to ImageMagick's public forum at 
http://www.imagemagick.org/discourse-server/ as it doesn't look like a Wx issue 
- or even a Citrus Perl issue for that matter.

That said, you did mention afterwards that all you want to do is resize an 
image and save it to disk. Well, Citrus Perl should have come with the GD 
module, which can (amongst several other things) do just that. Granted, I'm not 
very familiar with GD so I could be waaaay wrong here, but from their 
documentation the code below should work (note: I just wrote it on the email 
body, code might have typos and is not really tested):

----------------8<----------------
use strict;
use warnings;
use GD::Image;

# note: newFromJpeg() and newFromGif() are also availablemy $source_image = 
GD::Image->newFromPng( "/path/to/file.png" );

my ($source_width, $source_height) = $source_image->getBounds;

my $target_width = 100; # pixels
my $target_height = 100; #pixels

my $target_image = GD::Image->new( $target_width, $target_height );

# resize our $source_image into $target_image
$target_image->copyResized(
    $source_image,
    0, 0,  # target_x, target_y
    0, 0,  # source_x, source_y
    $target_width, $target_height,
    $source_width, $source_height
);

# saved resized file to disk
open my $fh, '>', '/path/to/resized.png'
    or die "error opening resized.png for writing: $!";

binmode $fh;
print $fh $image->png;
close $fh;
---------------->8----------------

Hope it helps!

Good luck,

garu



   

Reply via email to