in reply to Re: Image Conversion to JPEG
in thread Image Conversion to JPEG

Interesting answer, jesuashok.  I wondered why you started your code section with "> formats to jpg.", but then realized that's how part of the the original article at www.imagemagick.org was worded as well:
> This is the beginning of a subroutine that should convert pictures i +n other > formats to jpg. > > my($name) = shift; > my($img) = Image::Magick->new; > if (!($name =~ /.jpg|.JPG/)){ > > open(IMAGE, $name); # Open the original file > > $rc = $img->Read(file=>\*IMAGE); # Read the file To me, the above two lines are a somewhat cumbersome looking way of reading the file. If you must use a pre-opened file handle, maybe it would be worth figuring it out. One idea, is that if you are on Windows, it might be that you need to use "binmade" on the handle, before passing it it Read, I have no idea if Read does such internally +. But it sounds to me that you would be just as happy using $rc = $mig->Read(filename=>$name); instead of the above 2 lines, and then... down below... > > print $rc; > > close(IMAGE); # Close the original file handle > > my($base, $ext) = split(/\./,$name); # extract the base of + the file > name > > $name = "$base.jpg"; # Add the 'jpg' to the filename > > open(IMAGE, ">$name"); # Open the file for outputting the converted > image > > $rc = $img->Write(file=>\*IMAGE, filename=>"$name"); # Wri +te the image $rc = $img->Write(filename=>$name); instead of the above 2 lines. > print $rc; > > close(IMAGE); # Close the file handle > }

And what a coincidence that the original author, when he wrote this on November 9, 2004, also thought "the above two lines are a somewhat cumbersome looking way of reading the file.", etc.

Of course, when he wrote the message, and said "down below...", he then went ahead and provided more code.  Your message kind of abruptly ends with "instead of the above 2 lines, and then... down below...", which lacks a certain sense of closure, I think.


s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/