Such functionality is provied by packages:
With point in the thumbnail buffer, you can type RET (image-dired-display-thumbnail-original-image) to display a sized version of it in another window. This sizes the image to fit the window.
It uses ImageMagick's convert command.
You can also use image-dired-external-viewer to avoid ...
I used the source code in lisp/image-mode.el to write this up. Calling this function in any image buffer will resize it to fit to width or height depending on the image and window height/width ratios.
You do need these 2 things for this function to work:
Your emacs needs to have been compiled with Imagemagick.
By default libjpeg loader is used to ...
Do you see the same problem when you start Emacs using emacs -Q? I doubt it. If so, and if your Emacs version is recent, report the problem: M-x report-emacs-bug.
If not, then recursively bisect your init file to determine the culprit. You can use command comment-region to comment out a region of text (and with C-u it uncomments a region).
(With emacs -Q, ...
I believe this is related to a recent OS change (from Ubuntu to Arch), which included an Emacs upgrade from 24.3 to 24.4. I think my .emacs.desktop files were not compatible with this update, and this zoom bug was one effect. My desktop files are used to save my open buffers for each emacs session.
Thanks to @Drew's answer, I found the cause of this issue ...
image-transform-set-scale may be what you are looking for. However it requires Emacs to be compiled with Imagemagick support.
There is also a commented out image-transform-mode in image-mode.el labeled "Not yet implemented."