diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2016-02-09 12:44:32 +1100 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2016-02-09 12:44:32 +1100 |
commit | c93cc660ac85db9e7932ffae6bd886034defffba (patch) | |
tree | bb433a4d98a312df336795700c7118fad86e5cca /lisp/image.el | |
parent | 4a24af2d2b2be168e37947ceb1a3906eb1da0e55 (diff) | |
download | emacs-c93cc660ac85db9e7932ffae6bd886034defffba.tar.gz emacs-c93cc660ac85db9e7932ffae6bd886034defffba.tar.bz2 emacs-c93cc660ac85db9e7932ffae6bd886034defffba.zip |
Add new commands to allow changing the size of images
* lisp/image.el (image-increase-size, image-decrease-size):
New commands.
(image-change-size): New function.
Diffstat (limited to 'lisp/image.el')
-rw-r--r-- | lisp/image.el | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lisp/image.el b/lisp/image.el index 82a10a31113..b69d3b15a43 100644 --- a/lisp/image.el +++ b/lisp/image.el @@ -913,6 +913,35 @@ has no effect." (imagemagick-register-types) +(defun image-increase-size (n) + "Increase the image size by a factor of N. +If N is 3, then the image size will be increased by 30%. The +default is 20%." + (interactive "P") + (image-change-size (if n + (1+ (/ n 10)) + 1.2))) + +(defun image-decrease-size (n) + "Decrease the image size by a factor of N. +If N is 3, then the image size will be decreased by 30%. The +default is 20%." + (interactive "P") + (image-change-size (if n + (- 1 (/ n 10)) + 0.8))) + +(defun image-change-size (factor) + (unless (fboundp 'imagemagick-types) + (error "Can't rescale images without ImageMagick support")) + (let ((image (get-text-property (point) 'display))) + (when (or (not (consp image)) + (not (eq (car image) 'image))) + (error "No image under point")) + (plist-put (cdr image) :type 'imagemagick) + (plist-put (cdr image) :scale + (* (or (plist-get (cdr image) :scale) 1) factor)))) + (provide 'image) ;;; image.el ends here |