Subject: Re: bug#46554: 27.1; 180 degree rotated image is displayed in slightly different position

From: Alan Third <[email-masked]>
Date: Tue, 16 Feb 2021 21:15:42 +0000

On Tue, Feb 16, 2021 at 06:45:30PM +0900, [email-masked] wrote:
> 
> THe form below displays same image with different :rotation.
> The third image is rotated by 180 degree and is displayed in slightly
> different position. There is one pixel gap on the top and left edges of
> the image.
> 
> (let ((buf (generate-new-buffer "tmp"))
>       (svg "<svg width=\"50\" height=\"50\"
>  version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">
> <rect x=\"0.5\" y=\"0.5\" width=\"49\" height=\"49\"
>  stroke-width=\"1\" stroke=\"red\"/>
> </svg>"))
>   (switch-to-buffer buf)
>   (insert " ")
>   (insert-image (create-image svg 'svg t :scale 1))
>   (insert " ")
>   (insert-image (create-image svg 'svg t :scale 1 :rotation 90))
>   (insert " ")
>   (insert-image (create-image svg 'svg t :scale 1 :rotation 180))
>   (insert " ")
>   (insert-image (create-image svg 'svg t :scale 1 :rotation 270))
>   (insert " ")
>   (put-text-property (point-min) (point-max) 'face '(:background "grey"))
>   )

Does this only happen with SVG files, or do you see the same thing
with other image types?

(Windows and NS use the same rotation logic, so I'd be surprised if
some rounding error manifested on one but not the other, although
perhaps there's some difference in compilers... Seems unlikely.)
-- 
Alan Third