summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/image.el2
-rw-r--r--src/image.c8
2 files changed, 9 insertions, 1 deletions
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);