diff --git a/lisp/image.el b/lisp/image.el index 82e01624889..c34db68a44a 100644 --- a/lisp/image.el +++ b/lisp/image.el @@ -102,7 +102,7 @@ AUTODETECT can be (see `image-type-available-p').") (defvar image-format-suffixes - '((image/x-icon "ico")) + '((image/x-rgb "rgb") (image/x-icon "ico")) "An alist associating image types with file name suffixes. This is used as a hint by the ImageMagick library when detecting the type of image data (that does not have an associated file name). diff --git a/src/image.c b/src/image.c index b5b713c9061..a87dc4d4737 100644 --- a/src/image.c +++ b/src/image.c @@ -8540,6 +8540,14 @@ imagemagick_load_image (struct frame *f, struct image *img, status = MagickReadImage (image_wand, filename); else { + Lisp_Object lwidth = image_spec_value (img->spec, QCwidth, NULL); + Lisp_Object lheight = image_spec_value (img->spec, QCheight, NULL); + + if (NATNUMP (lwidth) && NATNUMP (lheight)) + { + MagickSetSize (image_wand, XFASTINT (lwidth), XFASTINT (lheight)); + MagickSetDepth (image_wand, 8); + } filename_hint = imagemagick_filename_hint (img->spec, hint_buffer); MagickSetFilename (image_wand, filename_hint); status = MagickReadImageBlob (image_wand, contents, size);