From c088101cb7409aa342bbbfdb0e33537f5d173b2c Mon Sep 17 00:00:00 2001 From: Diego Pino Date: Thu, 7 Feb 2013 18:32:57 +0100 Subject: [PATCH] Use command 'identify' to retrieve the size of a local image * Command 'identify' is provived by ImageMagick --- autoload/zencoding/util.vim | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/autoload/zencoding/util.vim b/autoload/zencoding/util.vim index 2137eca..c3c3765 100644 --- a/autoload/zencoding/util.vim +++ b/autoload/zencoding/util.vim @@ -191,6 +191,11 @@ endfunction function! zencoding#util#getImageSize(fn) let fn = a:fn + + if filereadable(fn) && zencoding#util#isImageMagickInstalled() + return zencoding#util#imageSizeWithImageMagick(fn) + endif + if filereadable(fn) let hex = substitute(system('xxd -p "'.fn.'"'), '\n', '', 'g') else @@ -228,3 +233,14 @@ function! zencoding#util#getImageSize(fn) return [width, height] endfunction +function! zencoding#util#imageSizeWithImageMagick(fn) + let img_info = system('identify -format "%wx%h" "'.a:fn.'"') + let img_size = split(img_info, 'x') + let width = img_size[0] + let height = substitute(img_size[1], '\n', '', '') + return [width, height] +endfunction + +function! zencoding#util#isImageMagickInstalled() + return !(empty(system('command identify'))) +endfunction