@Garu: This really works! ($target_image on print $fh, anything else was
perfect). I'm so happy!!! Thank you!
breno <[email protected]> schrieb am 2:54 Montag, 19.Januar 2015:
On Sun, Jan 18, 2015 at 6:47 PM, Daniel <[email protected]> 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