A complete wrapper around all imagemagick commands with autocompletion, descriptions and hints displayed in prompt
Switch branches/tags
Nothing to show
Clone or download
Latest commit cbee896 Sep 13, 2018
Permalink
Failed to load latest commit information.
COPYING Added license file Sep 13, 2018
blimp.el Fixed another dependency Sep 3, 2018
readme.org Forgot parens Sep 7, 2018
screenshot.png Changed screenshot Aug 23, 2018

readme.org

https://melpa.org/packages/blimp-badge.svg

Blimp - Bustling Image Manipulation Package

Blimp is a complete wrapper around all imagemagick commands with descriptions, autocompletion (for some commands) and hints displayed in prompt using eimp.el to execute its commands and resize images.

Blimp command building

Features

  • Supports all imagemagick commands
  • Supports all completion frontends (ivy, helm, ido, etc)
  • Writes changes to buffer instead of file allowing you to revert changes before saving
  • Undo and redo image changes with (setq eimp-enable-undo t)
  • Parameter autocomplete for some commands
  • Description of command and input format in prompt
  • Resize images to fit window or manually using the mouse

Install

(require 'blimp)
(add-hook 'image-mode-hook 'blimp-mode)

Usage

First enter an image-buffer and type C-c C-o to bring up the blimp-interface. After choosing a imagemagick command and its parameters, type C-c C-e to apply the chosen command(s) on the current image or C-c C-r to clear all queued commands. You can also do C-c C-O to apply the command right after selecting it and C-c C-p to toggle the current command prefix between “+” and “-“.

If you want to resize the current image to fit the buffer you have several alternatives: M-x eimp-fit-image-height-to-window or M-x eimp-fit-image-to-whole-window or M-x eimp-fit-image-to-window or M-x eimp-fit-image-width-to-window

Configuration

If you want to skip using blimp-interface and instead have hotkeys for specific commands you can do

;; Prompts for amount of degrees to rotate then applies the rotation
(defun my/blimp-rotate()
  (interactive)
  (blimp-interface-execute "rotate"))

(define-key eimp-mode (kbd "C-c C-R") 'my/blimp-rotate)

Or if you want to run commands with all their paramaters already set

;; Rotates image 90 degrees when called
(defun my/blimp-rotate-90()
  (interactive)
  (blimp-add-to-command-stack (list "-rotate" "90"))
  (blimp-execute-command-stack))

(define-key eimp-mode (kbd "C-c C-R") 'my/blimp-rotate-90)

To resize images using the mouse you can do

(define-key blimp-mode-map (kbd "<down-mouse-3>") 'eimp-mouse-resize-image-preserve-aspect)
(define-key blimp-mode-map (kbd "<down-mouse-2>") 'eimp-mouse-resize-image)