Normaal gesproken gebruik ik om thumbnails te bakken Image::Magick. Echter op de server waarvoor ik nu een script schrijf is dit niet aanwezig, wel is op die server de module Imager aanwezig. Het probleem is echter dat als ik met de method "scale" een thumbnail probeer te maken de aspect ratio hetzelfde blijft, terwijl ik bijvoorbeeld thumbnails van 100x100 wil.
Volgens de pod dien je "scale" te gebruiken als je de ratio wilt behouden:
Nadeel hiervan is dat de afbeelding dus twee keer wordt bewerkt (met ietsiepietsie kwaliteitsverlies). Mijn vraag is, kan het op een andere manier toch in een keer, of moet ik het hierbij laten....
Volgens de pod dien je "scale" te gebruiken als je de ratio wilt behouden:
En dit wil ik nu juist niet, nu heb ik wel uitgevogeld dat het in twee keer kan:To scale an image so porportions are maintained use the $img->scale() method.
Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| sub convertImage { my ($image_in, $image_out, $x, $y) = @_; my $img = Imager->new(); $img->open(file=>$image_in) || return(0); # Dit werkt niet, afbeelding blijft aspect ratio houden # my $thumb = $img->scale(xpixels => $x, ypixels => $y); my $thumb = $img->scaleX(pixels => $x); $thumb = $thumb->scaleY(pixels => $y); $thumb->write(file=>$image_out) || return(0); return(1); } |
Nadeel hiervan is dat de afbeelding dus twee keer wordt bewerkt (met ietsiepietsie kwaliteitsverlies). Mijn vraag is, kan het op een andere manier toch in een keer, of moet ik het hierbij laten....
[ Voor 4% gewijzigd door Verwijderd op 26-02-2003 16:15 ]