bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#47095: [PATCH] Add support for image mirroring (Bug#47095)


From: Timo Taipalus
Subject: bug#47095: [PATCH] Add support for image mirroring (Bug#47095)
Date: Wed, 29 Dec 2021 11:10:03 +0200

On 28.12.2021 13:22, Alan Third wrote:
On Mon, Dec 27, 2021 at 10:36:43AM +0200, Timo Taipalus wrote:
It seems image-mode does not have capability for image mirroring, so
here's a patch for it.  Tested NS (macOS) and XRender/Cairo
implementations.  As it is, it has no effect if ImageMagick is
enabled.

I suspect this won't work at all on windows due to the way the
transform is implemented there, but someone should probably check.

I chose 'h' as the action key because 'm' and 'f' were reserved, and
'h' is easy to memorize ("horizontal").

'r' for reverse, maybe?

Is it possible to do the mirroring before the rotation instead of as
part of it? I feel like it would make the code a little clearer,
although I suspect you're doing it in the rotation to reduce the
number of calculations? Would it be possible to have both horizontal
and vertical mirroring?

As said elsewhere, "r" is reserved for rotation. :)

I added an elisp function to do a vertical flip. Also I renamed the
procedure flipping because that's what GIMP calls it. Attached is a
revised patch to replace the previous one.

As for the C code, I agree it adds some complexity to the transform
function, but this is probably the fastest way to achieve it.

Flipping before rotation would lead to strange results when the image
has been rotated 90/270 degrees. Then the flip commands seem reversed
– horizontal flip actually flips vertically and vice versa. This is
because the transform function always rotates the initial image,
which is what would be flipped.

Hopefully someone can test this patch on Windows.

Attachment: 0001-Add-support-for-image-flipping-Bug-47095.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]