X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/831a515997cb255aa0c0b236f98e46a5b5ebb283..bb46e3b3659d873ae552683833c998acd2e275f1:/doc/bugs/image_rescaling_distorts_with_small_pictures.mdwn diff --git a/doc/bugs/image_rescaling_distorts_with_small_pictures.mdwn b/doc/bugs/image_rescaling_distorts_with_small_pictures.mdwn index c535f88a4..9ce091e15 100644 --- a/doc/bugs/image_rescaling_distorts_with_small_pictures.mdwn +++ b/doc/bugs/image_rescaling_distorts_with_small_pictures.mdwn @@ -1 +1,51 @@ If you use the rescaling feature of the directive [[ikiwiki/directive/img/]] with a smaller image it will distort. E.g. an image with 150x250 rescaled into size=200x200. --bastla + +> More specifically: `img` normally preserves aspect ratio: +> `size=200x200` normally means "as large as possible, keeping +> the width 200px or less, the height 200px or less, and the +> aspect ratio correct". So a 4:3 image with `size=200x200` +> would actually come out 200px wide and 150px tall. +> +> However, when (desired width is specified) && (desired height is specified) +> && ((width > desired width) || (height > desired height)), +> it uses exactly the desired size, without preserving aspect ratio. +> --smcv + +>> [[!template id=gitbranch branch=chrysn/imgforpdf-and-more author="[[chrysn]]"]] +>> +>> [[!tag patch]] +>> +>> i've implemented a fix for this along with a unit test. +>> +>> the patch branch is based on the imgforpdf branch +>> ([[bugs/svg and pdf conversion fails]]), because it would not cleanly merge. +>> the branch also enhances on how images are handled in preview, falling back +>> to data: urls if the image has not been rendered in a saved version. please +>> review. --[[chrysn]] + +>>> Mostly [[looks good to me|users/smcv/ready]]. +>>> +>>> Minor things, which wouldn't stop me merging it if I could: +>>> +>>> * `$imgdatalink = "data:image/".$im->Get("magick").";base64,".encode_base64($blob[0]);`: +>>> is the ImageMagick file type always valid as the second part of +>>> a MIME type? +>>> * In this code: +>>> +>>> +open (my $outhtmlfd, "<", "$outpath.html"); +>>> +local $/=undef; +>>> +my $outhtml = <$outhtmlfd>; +>>> +close $outhtmlfd; +>>> +>>> no block is closed, so the "local" is ineffective, so the `<>` operator +>>> remains in read-entire-file mode afterwards. To avoid odd side-effects, +>>> I would suggest using `readfile()` like `t/trail.t` does. +>>> +>>> [[!template id=gitbranch branch=smcv/ready/imgforpdf-and-more author="[[chrysn]], [[smcv]]" + browse=http://git.pseudorandom.co.uk/smcv/ikiwiki.git/shortlog/refs/heads/ready/imgforpdf-and-more]] +>>> I've used `readfile()` (but not done anything about the ImageMagick file type) +>>> in my copy of the branch. +>>> +>>> --[[smcv]] + +>>>> [[merged|done]] --[[smcv]]