This is much better, but still doesn't work for large images. This can be improved with another fix: --- lisp/iimage.el 6 Aug 2005 22:13:43 -0000 1.6 +++ lisp/iimage.el 5 Feb 2006 20:29:32 -0000 @@ -133,1 +133,1 @@ - (create-image file)))) + (create-image (my-make-thumbnail file))))) and a new function: (defun my-make-thumbnail (file) (let* ((image-file (concat "file://" (expand-file-name file))) (thumb-file (expand-file-name (concat "~/.thumbnails/normal/" (md5 image-file) ".png"))) (file-attrs (file-attributes file)) (modif-time (float-time (nth 5 file-attrs)))) (unless (file-exists-p thumb-file) (shell-command (mapconcat 'identity (list "convert" (format "\"%s\"" file) (format "-set \"Description\" \"Thumbnail of %s\"" image-file) (format "-set \"Software\" \"ImageMagick, GNU Emacs %s\"" emacs-version) (format "-set \"Thumb::URI\" \"%s\"" image-file) (format "-set \"Thumb::MTime\" \"%.0f\"" modif-time) "-set \"Thumb::Size\" \"%b\"" "-set \"Thumb::Image::Width\" \"%w\"" "-set \"Thumb::Image::Height\" \"%h\"" "-set \"Thumb::Image::Mimetype\" \"image/jpeg\"" "-resize 128x128" "+profile \"*\"" "-type TrueColorMatte" (format "png:\"%s\"" thumb-file)) " "))) thumb-file)) This function generates thumbnail files exactly as specified by the Thumbnail Managing Standard. It constructs the thumbnail filename, fills all required attributes, resizes the image, removes EXIF data and uses -type TrueColorMatte to force the encoder to write an alpha channel as specified by the standard. I think this function should be adopted for all Emacs thumbnail packages. Given that, the result on large files will look like: