diff --git a/ChangeLog b/ChangeLog index 71b597d889b..e2d707300ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -139,6 +139,21 @@ * Makefile.in (install-arch-indep): Delete any old info .gz files first. +2010-06-12 Joakim Verona + + * image.c: Add support for ImageMagick. When HAVE_IMAGEMAGICK is + defined: + (imagemagick_image_p): New function to test for ImageMagic img. + (imagemagick_load): New function to load ImageMagick img. + (imagemagick_load_image): New function, helper for imagemagick_load + (imagemagick-types): New function. + (Qimagemagick): New Lisp_object. + (imagemagick-render-type): New var, decides which renderer to use + * image.el: + (imagemagick-types-inhibit): New var. + (imagemagick-register-types): New function. + * config.in, Makefile.in, configure.in + 2010-06-11 Glenn Morris * configure.in (--without-compress-info): New option. diff --git a/README.imagemagick b/README.imagemagick index 600fb393632..792e9fd90ea 100644 --- a/README.imagemagick +++ b/README.imagemagick @@ -64,7 +64,7 @@ Works like for "gif" support. Thanks to Juri Linkov. * TODO decide what to do with some uncommitted imagemagick support functions for image size etc. * TODO Test with more systems -Tested on Fedora 12 so far, and the libmagick that ships with it. +Tested on Fedora 12, Fedora 14 so far, and the libmagick that ships with it. Ubuntu 8.04 was also tested, but it seems it ships a broken ImageMagick. @@ -77,7 +77,7 @@ Is handled by configure now * Some nits from Stefan Monnier I just took a quick look at the code and I see the following nits to fix: -** TODO obviously a merge will have to come with a good ChangeLog. +** DONE obviously a merge will have to come with a good ChangeLog. ** DONE also the merge will need to come with documentation. Maybe not in the Texinfo form yet, but at least in the etc/NEWS with enough info that describes the `scale' and other such arguments that someone can start @@ -147,19 +147,5 @@ as TIFF or DJVM, to view. The image-metadata function can be used to retrieve the total number of images in an image bundle. This is simmilar to how GIF files work. -* Changelog entry -2010-06-12 Joakim Verona - * image.c: Add support for ImageMagick. When HAVE_IMAGEMAGICK is - defined: - (imagemagick_image_p): New function to test for ImageMagic img. - (imagemagick_load): New function to load ImageMagick img. - (imagemagick_load_image): New function, helper for imagemagick_load - (imagemagick-types): New function. - (Qimagemagick): New Lisp_object. - * image.el: - (imagemagick-types-inhibit): New var. - (imagemagick-register-types): New function. - * config.in, Makefile.in, configure.in - * Manual entry nothing yet, but the NEWS entry could be adapted. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 9f07fb42ef4..716efbd9059 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4039,6 +4039,7 @@ displayed (@pxref{Display Feature Testing}). * GIF Images:: Special features for GIF format. * TIFF Images:: Special features for TIFF format. * PostScript Images:: Special features for PostScript format. +* ImageMagick Images:: Special features available through ImageMagick. * Other Image Types:: Various other formats are supported. * Defining Images:: Convenient ways to define an image for later use. * Showing Images:: Convenient ways to display an image once it is defined. @@ -4463,6 +4464,51 @@ specifying the bounding box of the PostScript image, analogous to the @end example @end table +@node ImageMagick Images +@subsection ImageMagick Images +The Imagemagick library can be used to load many image formats in Emacs. + +The function (imagemagick-types) returns a list of image file +extensions that your installation of imagemagick supports. + +The function (imagemagick-register-types) will enable the imagemagick +support for the extensions in imagemagick-types minus the types listed +in imagemagick-types-inhibit. + +imagemagick-types-inhibit has the value '(C HTML HTM TXT PDF) by +default. There can be overlap between image loaders in your Emacs +installation. If you never want to use the ImageMagick loader to use +Jpeg files, for instance, add 'JPG to imagemagick-types-inhibit. Which +loader that will be used in practice depends on the priority of the +loaders. + +imagemagick-render-type is a new variable which can be set to choose +between screen render methods for the ImageMagick loader. + +- 0 is a conservative metod which works with older ImageMagick + versions. It is a bit slow, but robust. + +- 1 utilizes a newer ImageMagick method + + +Images loaded with imagemagick will support a couple of new display +specification behaviours: + +- if the :width and :height keywords are specified, these values are +used for scaling the image. If only one of :width or :height is +specified, the other one will be calculated so as to preserve the +aspect ratio.If both :width and :height are specified, aspect ratio +will not be preserved. + +- :rotation specifies a rotation angle in degrees. + +- :index specifies which image inside an image bundle file format, such +as TIFF or DJVM, to view. + +The image-metadata function can be used to retrieve the total number +of images in an image bundle. This is simmilar to how GIF files work. + + @node Other Image Types @subsection Other Image Types @cindex PBM diff --git a/etc/NEWS b/etc/NEWS index d489e2d32c7..836222b4861 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -109,6 +109,22 @@ The frame-parameter tool-bar-position controls this. It takes the values top, left, right or bottom. The Options => Show/Hide menu has entries for this. +** ImageMagick support +It is now possible to use the Imagemagick library to load many new +image formats in Emacs. + +To enable, use the following configure option: +--with-imagemagick + +The new function (imagemagick-types) returns a list of image file +extensions that your installation of imagemagick supports. + +The function (imagemagick-register-types) will enable the imagemagick +support for the extensions in imagemagick-types minus the types listed +in imagemagick-types-inhibit. + +See the Emacs Manual for more information. + ** The colors for selected text (the region face) are taken from the GTK theme when Emacs is built with GTK.