* lisp/image-mode.el (image-transform-fill-window): New command (bug#69565).

(image-mode-menu): Add image-transform-fill-window to the menu.
This commit is contained in:
Juri Linkov 2024-05-28 19:51:21 +03:00
parent ebac4d4872
commit 730b61c64b

View file

@ -559,6 +559,8 @@ image as text, when opening such images in `image-mode'."
:help "Resize image to match the window height and width"]
["Fit Image to Window (Scale down only)" image-transform-fit-both
:help "Scale image down to match the window height and width"]
["Fill Window with Image" image-transform-fill-window
:help "Resize image to fill either width or height of the window"]
["Zoom In" image-increase-size
:help "Enlarge the image"]
["Zoom Out" image-decrease-size
@ -1592,6 +1594,18 @@ The percentage is in relation to the original size of the image."
(setq image-transform-resize 'fit-window)
(image-toggle-display-image))
(defun image-transform-fill-window ()
"Fill the window with the image while keeping image proportions.
This means filling the window with the image as much as possible
without leaving empty space around image edges. Then you can use
either horizontal or vertical scrolling to see the remaining parts
of the image."
(interactive nil image-mode)
(let ((size (image-display-size (image-get-display-property) t)))
(setq image-transform-resize
(if (> (car size) (cdr size)) 'fit-height 'fit-width)))
(image-toggle-display-image))
(defun image-transform-set-rotation (rotation)
"Prompt for an angle ROTATION, and rotate the image by that amount.
ROTATION should be in degrees."