차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:imagemagick [2014/01/18 22:43] – [GD와 비교] V_Ltech:imagemagick [2021/04/11 16:40] (현재) – [이미지 매직 (ImageMagick)] 108.162.215.11
줄 1: 줄 1:
 +{{tag>imagemagick 이미지 매직 우분투 변환 썸네일 손톱그림}}
 +======이미지 매직 (ImageMagick)======
 +{{tech/imagemagick.jpg?100 |}}
 +이미지 매직(ImageMagick)은 그림 변환, 수정 등의 많은 기능을 갖고 있는 무료 소프트웨어이다. 
 +명령어를 입력하는 방식으로 사용된다.  
 +
 +www.imagemagick.org
 +
 +이미지의 외곽을 자르거나, 색을 바꾸는 것을 비롯한 다양한 효과를 줄 수 있으며, 이미지의 회전, 합치기, 문자삽입, 선, 다각형, 타원, 베지에 곡선을 그려넣거나, 이미지 늘이기 등의 작업을 할 수 있다.
 +
 +dd
 +
 +
 +  * convert : 기존 화일의 종류를 바꾸거나 편집하여 새로운 그림 화일을 만들 때
 +  * mogrify : convert와 달리 기존 화일을 수정할 때 (새로운 그림 화일을 만들지 않음.)
 +  * composite : 여러 그림 화일을 겹쳐서 새로운 그림을 만들 때
 +  * montage : 여러 그림을 이어 붙여서 새로운 그림을 만들 때
 +  * import : 화면을 캡쳐할 때
 +  * identify : 그림 화일에 대한 정보를 알고 싶을 때
 +  * display : 그림을 화면으로 보이게 할 때
 +  * animate : 그림을 이어서 에니메이션처럼 보고 싶을 때
 +
 +
 +====libGD와 비교====
 +
 +php에 기본으로 포함되어 있는 그래픽 라이브러리인 libGD와 자주 비교된다.
 +
 +===장점===
 +
 +  *  이미지 포맷과 상관없이 좋은 화질의 결과를 출력할 수 있다.(  gif 화일에서도 깔끔한 워터마크를 넣을 수 있다.)
 +  *  Exif 데이터가 소실되지 않는다.
 +  *  메모리는 적게 사용하고, CPU를 더 많이 사용한다. ( GD는 전체 이미지를 메모리에 올려 사용하는 방식이기 때문에 할당된 메모리보다 큰 이미지는 프로세싱하지 못하지만 이미지매직은 한줄씩 프로세싱하기 때문에 메모리 사용이 적다.)
 + 
 +===단점===
 +
 +  * 따로 설치해야 한다.
 +  * shell_exe가 허용되지 않은 시스템에서는 사용이 불가하다.
 +  * GD에 비해 한줄씩 프로세싱하는 관계로 속도가 떨어진다.
 +====속도====
 +
 +GD는 더 빠르다.
 +하지만 EXIF정보를 가져갈 수 없기 때문에 EXIF정보가 필요하면 별차이 없다
 +
 +이미지 리사이징 테스트를 해보았다.
 +240KB짜리 621x700 사이즈를 200x200으로 리사이징만 하는거다
 +
 +^  ^1개^100개^
 +| imagemagick|0.34741306304932|17.569828033447|
 +| GD|0.053716897964478|2.6152718067169|
 +
 +
 +GD가 확실히 빠르다.
 +하지만 리사이징 퀄리티가 imagemagick보다 떨어진다는게 중론이다.
 +근데 속도 차이가 너무 난다.
 +
 +
 +
 +=====설치=====
 +
 +확인
 +   root@vaslor:~$ /usr/bin/convert -version
 +   -bash: /usr/bin/convert: 그런 파일이나 디렉터리가 없습니다
 +
 +우분투에서는 한번에 설치가 된다.
 +
 +   sudo apt-get install imagemagick
 +
 +
 +확인
 +
 +   root@vaslor:~$ /usr/bin/convert -version
 +   Version: ImageMagick 6.6.9-7 2012-08-17 Q16 http://www.imagemagick.org
 +   Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
 +   Features: OpenMP
 +=====예=====
 +
 +===파일포맷변경===
 +
 +convert image_org.gif  image_out.jpg
 +[설명] image_org.gif  이미지를 image_out.jpg로 바꾼다.
 + 
 +convert image_org.png  image_out.jpg
 +[설명] image_org.png  이미지를 image_out.jpg로 바꾼다. 
 +
 + 
 +
 + 
 +
 +===확대,축소,리사이즈===
 +
 +convert image_org.jpg -resize 25%x25% -quality 100 image_out.jpg
 +[설명] image_org.jpg  이미지를 1/4 축소한 image_out.jpg로 바꾼다.
 + 
 +convert image_org.jpg -resize 800x600 -quality 100 image_out.jpg
 +[설명] image_org.jpg  이미지를 800x600픽셀로 리사이즈 하지만 비율을 유지하며 큰사이즈 비율 기준으로 image_out.jpg를 생성한다.
 + 
 +convert image_org.jpg -resize 800x600\! -quality 100 image_out.jpg
 +[설명] image_org.jpg  이미지를 800x600픽셀로 강제적으로 바꾸어 image_out.jpg를 생성한다.
 + 
 +[설명] "-quality 100"이란 옵션을 주면 품질을 최대한 좋게한다.
 + 
 + 
 +
 + 
 +
 +===회전===
 +
 +convert image_org.png -matte -background none -rotate 90  image_out.png
 +[설명] 이미지를 90도 회전하고 나머지 영역은 투명하게한다.
 +
 +convert image_org.png -matte -background none -rotate -15  image_out.png
 +[설명] 이미지를 -15도 회전하고 나머지 영역은 투명하게한다.
 + 
 +
 + 
 +
 +
 +===좌우반전,상하반전===
 +
 +convert -flop image_org.jpg  image_out.jpg
 +[설명] image_org.jpg  이미지를 좌우반전시켜 image_out.jpg 이미지를 생성한다.
 +
 +convert -flip image_org.jpg  image_out.jpg
 +[설명] image_org.jpg  이미지를 상하반전시켜 image_out.jpg 이미지를 생성한다.
 +
 + 
 + 
 +
 +
 +===흑백,갈색 효과===
 +
 +convert image_org.jpg -colorspace gray image_out.jpg
 +[설명] image_org.jpg  이미지를 흑백효과를 적용하고 image_out.jpg 이미지를 생성한다.
 +
 +convert image_org.jpg -sepia-tone 80% image_out.jpg
 +[설명] image_org.jpg  이미지를 갈색효과를 적용하고 image_out.jpg 이미지를 생성한다.
 + 
 +
 + 
 +
 +
 +===밝게,어둡게===
 +
 +convert image_org.jpg -sigmoidal-contrast 3,0% image_out.jpg
 +[설명] image_org.jpg  이미지를 밝게하여 image_out.jpg 이미지를 생성한다.
 +
 +convert image_org.jpg -sigmoidal-contrast 3,100% image_out.jpg
 +[설명] image_org.jpg  이미지를 어둡게하여 image_out.jpg 이미지를 생성한다.
 + 
 +
 + 
 +
 +
 +===자르기(crop)===
 +
 +convert image_org.jpg -crop 800x600+10+20  image_out.jpg
 +[설명] image_org.jpg를 Left 10픽셀 Top 20픽셀 부터 800x600픽셀까지  자르고 그 결과로 image_out.jpg 이미지를 생성한다.
 +
 +convert image_org.jpg -crop 800x600+10-30  image_out.jpg
 +[설명] image_org.jpg를 Left 10픽셀 Top -30픽셀 부터 800x600픽셀까지  자르고 그 결과로 image_out.jpg 이미지를 생성한다.
 +
 +
 + 
 +
 + 
 +===캔버스생성===
 +
 +convert -size 800x600 xc:white image_out.jpg
 +[설명] 800x600픽셀인 흰색 image_out.jpg 이미지를 생성한다.
 +
 +convert -size 800x600 xc:skyblue image_out.gif
 +[설명] 800x600픽셀인 하늘색 image_out.jpg 이미지를 생성한다.
 +
 +convert -size 800x600 xc:none image_out.png
 +[설명] 800x600픽셀인 투명 image_out.png 이미지를 생성한다.
 +
 +
 + 
 + 
 +
 +===글자이미지생성===
 +
 +convert -background white -fill black -font batang.ttf -pointsize 36 label:"Test\n한글" image_out.png
 +[설명] "Test\n한글"이란 글자로 image_out.png 이미지를 생성한다. (이미지배경은 흰색, 글자색은 검정색, 폰트는 바탕, 폰트사이즈는 36pt)
 +
 + 
 +
 +
 + 
 +===이미지합성===
 +
 +composite -dissolve 60 -geometry +50+100 image_temp.png image_org.jpg image_out.jpg
 +[설명] image_temp.png 이미지를 투명도 60%로 하여 image_org.jpg의 50,100 픽셀 좌표에 올려 합성후 image_out.jpg 이미지를 생성한다.
 +
 + 
 +
 + 
 + 
 + 
 +
 +
 +기타 자세한 설명은 http://www.imagemagick.org/Usage/를 참고하십시오.
 + 
 +
 +^  누구나 수정하실 수 있습니다. [[http://vaslor.net/syntax|위키 사용법]] 참고하세요.  ^
 +