`image-mode' is a standard library since Emacs 22, enabling (GUI) Emacs frames to render the image in the buffer, when visiting an image file.

The user can toggle between the rendered view and the textual content of the image file.

Image mode is discussed in the manual here: https://www.gnu.org/software/emacs/manual/html_node/emacs/Image-Mode.html.

See also ImageDired, which allows you to view a collection of thumbnails. 

Lisp:image-dimensions-minor-mode.el

----

This won't help if you use Emacs on a terminal. I've got this that uses asciiview (part of the aview package in debian - http://aa-project.sourceforge.net/aview/) to render an images as ascii art:

 (defun asciiview (imagefile)
   ;; use asciiview (part of aatools) to render image file as text to buffer
   (interactive "fChoose image file: ")
   (save-excursion
     (with-current-buffer (pop-to-buffer (format "*asciiview %s*" imagefile))
       (insert
        (car (last (butlast
                (split-string
                 (shell-command-to-string
                  (format
                   "echo q | asciiview -driver stdout -kbddriver stdin %s 2>/dev/null"
                   (shell-quote-argument imagefile)))
                 "^L")))))
       (view-mode))))

It's not the best rendering but it's usually enough to get a general look at an image. The echo q is because asciiview doesn't just print and exit like a normal program (and doesn't seem to have an option to), it sits around waiting for you to hit 'q' first. The car/last/butlast/split-string bit is because otherwise program output is echoed and the image is printed twice. This could maybe be fixed otherways.

CategoryModes MultimediaModes
