Hai
i am using the image magick to convert an image from 72 dpi to 300 dpi. with
the corresponding image height and width.
but now i need to resize this image to the corresponding height and width
which are existing at 72 dpi.
when i do that it is not creating the image with the exact values i gave..
how do i do with exact values.
or else can i keep the image with the fixed height and let image magick take
the proportionate width for me.
Can any one help me on this..
this is my code..

 my $file     = shift;
>     my $folder   = "";
>     my $filename = $folder . $file . ".jpg";
>     $image = Image::Magick->new;
>
>     if ( -e $filename ) {
>         my $jpgfile  = $folder . $file . "_new.jpg";
>         my $tjpgfile = $folder . $file . "_t.jpg";
>         my $err      = 0;
>         print $filename. "\n";
>         my $image = Image::Magick->new;
>         eval { my $ImgRead = $image->Read($filename); };
>         if ($@) {
>             $err = 1;
>             print "cannot read input\n";
>             return ( "", "", $err );
>         }
>         my $width     = $image->[0]->Get('width');
>         my $height    = $image->[0]->Get('height');
>         my $xy        = $image->[0]->Get('density');
>         my @xyz       = split( "x", $xy );
>         my $density   = 300;
>         my $imgwidth  = ( $width / $xyz[0] ) * $density;
>         my $imgheight = ( $height / $xyz[0] ) * $density;
>         #print "XY==> " . $xyz[0] . "\n";
>         $log_data .= "XYZ array ==> @xyz\n";
>         $log_data .= "Width==> ".$width."\n";
>         $log_data .= "Height==> ".$height."\n";
>         eval {
>             # if($xyz[0] ne '300'){
>                 # system( "convert $filename -resize "
>                     # . ceil($imgwidth) . "x"
>                     # . ceil($imgheight)
>                     # . "! -density $density -quality 80 $jpgfile" );
>             # }
>             # system("convert $filename -resize 150x130 $tjpgfile");
>             $image->[0]->Thumbnail(width=>$imgwidth,height=>$imgheight);
>             $image->[0]->Set("density"=>300);
>             $image->[0]->Set("units"=>"PixelsPerInch");
>             $image->[0]->Resize("$height");
>             #$image->[0]->Thumbnail(width=>$width,height=>$height);
>             $image->[0]->Set(quality=>100);
>             $image->[0]->Set("units"=>"PixelsPerInch");
>             $image->Write(filename=>"$jpgfile");
>
>             $image->[0]->Thumbnail(width=>'150',height=>'130');
>             $image->[0]->Set("density"=>300);
>             $image->[0]->Set("units"=>"PixelsPerInch");
>             $image->Write(filename=>"$tjpgfile");
>         };
>         if ($@) {
>             $err = 1;
>             print "cannot convert input\n";
>             return ( "", "", $err );
>         }
>
>         #unlink($filename);
>         return ( $jpgfile, $tjpgfile, $err );
>     }
>     else {
>         $log_data .= $filename . " does not exist\n";
>     }
>

Chaitanya
  • Image magick Chaitanya Yanamadala

Reply via email to