- # since we don't really resize larger, set the display
- # size, so the browser can scale the image up if necessary
- if (length $w && length $h) {
- ($dwidth, $dheight)=($w, $h);
- }
- # avoid division by zero on 0x0 image
- elsif ($im->Get("width") == 0 || $im->Get("height") == 0) {
- ($dwidth, $dheight)=(0, 0);
- }
- # calculate unspecified size from the other one, preserving
- # aspect ratio
- elsif (length $w) {
- $dwidth=$w;
- $dheight=$w / $im->Get("width") * $im->Get("height");
- }
- elsif (length $h) {
- $dheight=$h;
- $dwidth=$h / $im->Get("height") * $im->Get("width");
- }
-
- }
- else {
- $r = $im->Read($srcfile);
- error sprintf(gettext("failed to read %s: %s"), $file, $r) if $r;
- $imglink = $file;
- $dwidth = $im->Get("width");
+ # always get the true size of the resized image (it could be
+ # that imagemagick did its calculations differently)
+ $dwidth = $im->Get("width");