본문 바로가기
programming language/Autohotkey

Autohotkey에서 ImageMagick 사용하기

by __observer__ 2014. 5. 5.
반응형

ImageMagick 은 이름에서도 알 수 있는 바와 같이 image 파일들에 대해 여러 효과를 낼 수 있는 툴인데요~

   

아래 포스팅에서 소개 드렸다시피 저는 캡쳐 한 이미지들로 GIF 파일을 만드는데 종종 사용하곤 했습니다. 

 

2012/03/22 - [유틸] - ImageMagick 으로 GIF 파일 만들기

 

그런데 아래 Autohotkey 포럼을 찾아보니 Autohotkey 에서 Com Object 를 통해 ImageMagick 을 사용할 수 있더군요.

 

현재 저는 Autohotkey unicode 32 비트를 사용하고 있어서 ImageMagick도 아래 주소에서 32 비트 dll 버전을 설치 했습니다.

 

http://www.imagemagick.org/script/binary-releases.php#windows


설치 중간에 아래 그림과 같은 설정 부분에서 OLE Control 설치 부분을 체크 했습니다.  

 

아래 포럼 주소에 imageMagick 사용과 관련한 예제가 나와있는데~


http://www.autohotkey.com/board/topic/56987-com-object-reference-autohotkey-v11/page-3#entry373462

 

여러 사진들을 사용하여 썸네일 이미지등을 만들 때 대단히 유용해 보이더군요.

 

oI := ComObjCreate("ImageMagickObject.MagickImage.1")

 

imgs := Object()

 

Loop, 16 {

filename := "plasma" . A_Index . ".jpg"

oI.convert("-size", "200x200", "plasma:", filename)

imgs.Insert(filename)

}

 

imgs.Insert("montage.jpg")

stitch(oI, imgs*)

 

stitch(obj, params*) {

obj.montage("-geometry", "+0+0", params*)

}

 

oI.convert("montage.jpg", "-verbose", "info:image_info.txt")

oI.convert("montage.jpg", "-define", "histogram:unique-colors=false", "histogram:histogram.gif") ; create histogram

FileRead, info, image_info.txt

FileDelete, image_info.txt

MsgBox % info

 

위 코드를 돌려보시면~ plasma1.jpg, plasma2.jpg, plasma3.jpg … 등과 같은 파일이 생성되고~ 마지막에 아래 그림과 같이

 

histogram.gif 파일과~

각 이미지들에 대한 모음인 montage.jpg 파일이 생성됩니다.



반응형

댓글