diff options
author | Evgeny Zajcev <lg.zevlg@gmail.com> | 2016-12-02 12:09:31 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2016-12-02 12:09:31 +0200 |
commit | 0b3f8ca863e7df08e79a935946f7190e595cae2b (patch) | |
tree | fb697d6ba89eafb45c971a1bf52b537dcac6ebe9 | |
parent | b3ff982a99a2fc330677b13884f9723912668e06 (diff) | |
download | emacs-0b3f8ca863e7df08e79a935946f7190e595cae2b.tar.gz |
Support for rawrgb images using imagemagick
* src/image.c (imagemagick_load_image): Set wand size before loading
blob when ':width' and ':height' are provided.
* lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
-rw-r--r-- | lisp/image.el | 2 | ||||
-rw-r--r-- | src/image.c | 8 |
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); |