Hi Garu,
I haven't seen you since the SP YAPC. I hope you are well. We have all
returned to the UK now.
That Wx::Perl::Imagick advice was very nicely done.
Good luck,
Regards
Steve.
On 18/01/15 22:49, breno wrote:
On Sun, Jan 18, 2015 at 6:47 PM, Daniel <danielsw...@yahoo.de
<mailto: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 available
my $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