2006년 11월 27일 월요일

업무용 그림 그리는 툴 두 가지. Inkscape & Dia

쉽게 그림을 그리는 공짜 툴 두 가지를 소개한다. Inkscape와 Dia는 벡터 형태의 그림 그리는 툴이며, LaTeX에 포함시킬 수 있는 eps 형태로 내보내기(export)할 수 있다.



전산을 전공하는 사람들이나 IT 관련 업계에 일하는 분들이 흔히 겪는 일들 가운데 하나가 자신이 설명하고자 하는 추상적인 과정을 그림으로 그려야 하는 일이다. 보통은 PPT나 Word에 내장된 그림 그리기 기능을 사용하겠지만, 좀 더 그림을 잘 그려고자 하는 분들은 아마도 Visio가 가장 일반적인 대안이 되지 않을까.

Visio가 오피스 패키지에 포함이 된 채로 회사나 학교에서 라이센스를 갖고 있다면 다행이지만, 그렇지 않다면 상당히 비싼 가격을 주어야만 쓸 수 있는 소프트웨어가 되겠다. 만약 논문을 쓰는 사람들이 LaTeX으로 작업을 하려고 할 때 그림을 EPS로 포함시키려고 한다면 Visio는 사실 그리 좋은 대안이 아니다. Visio로 그려진 그림은 eps로 변환했을 때 LaTeX에서 가끔 정상적인 출력을 보여주지 못한다. 그리고, 윈도우의 PS 프린터를 사용하여 파일로 출력한 eps 파일 역시 가끔 좋지 않은 출력을 보여준다.

오늘 추천하는 프로그램들은 다음의 조건에 해당하는 분들에게 특히 유용하다.
  • Visio의 라이센스가 없지만, 돈을 내고 사고 싶지는 않다.
  • Visio의 라이센스가 없고, 회사나 학교 컴퓨터여서 라이센스가 없는 소프트웨어는 설치할 수 없다.
  • 논문이나 문서 작업을 위해 LaTeX을 종종 사용한다.
  • 포토샵이나 김프같은 그래픽 전문 툴이 아니라 업무용 그림을 그리는 툴을 찾고 있다.
  • 알고리즘을 다이어그램 등으로 설명해야 할 경우가 자주 있다. (Dia)
  • 그림으로 작성된 알고리즘이 UML로 변환되기를 원한다. (Dia)
  • 쉽게 폴리곤이나 복잡한 형태의 그림들을 그리기기를 원한다. (Inkscape)
  • SVG 파일을 편집할 수 있는 툴을 찾아 왔었다. (Inkscape)
  • 공짜 소프트웨어만 쓰고 싶다.
Inkscape와 Dia 모두 GPL을 따르는 프리 소프트웨어이다. 리눅스와 윈도우에서 모두 쓸 수 있으며, 조금의 불편함을 감수한다면 업무용으로 매우 훌륭한 프로그램들이라 할 수 있다. 아직 프로그램의 완결성이 높은 편은 아니다.

Inkscape

Inkscape는 SVG 파일을 작성, 편집할 수 있는 소프트웨어이다. SVG 파일은 벡터 그래픽을 XML 형태의 텍스트 파일로 기술할 수 있는 파일 포맷으로 W3C에서 그 표준을 정의하고 있다. 실제로 SVG 파일을 텍스트 편집기로 열어보면 XML로 기술되어 있음을 알 수 있다. 벡터 그래픽은 비트맵 형태로 (혹은 비트맵을 압축한 형태로) 저장된 파일에 비해 장점이 있다. 그림이 문서에서 보이는 크기를 늘이더라도 픽셀이 뭉개지는 현상이 발생하지 않는다.

왼쪽에 보이는 그림이 바로 Inkscape를 처음 실행하면 볼 수 있는 화면이다. 그림을 편집하는 영역 왼쪽에는 벡터 형태로 정의할 수 있는 다양한 형태의 그림들이 보인다.

1. 지원하는 파일 포맷
Inkscape에서 내보내기(다른 이름으로 저장, 혹은 export)할 수 있는 파일 포맷은 다음과 같다. 비트맵 형태로 저장할 때는 png를 지원한다.
- SVG
- SVGZ: 압축된 SVG
- TEX: LaTeX 스크립트로 저장
- EPS: Encapsulated PS (LaTeX에서 가장 많이 쓰는 그림 포맷)
- PS
- PDF
- XCF: Gimp의 파일 포맷

2. 편집할 수 있는 도형들

위의 그림을 보면 대충 어떤 그림들이 가능한지 이해하실 수 있을 것 같다. 원, 타원, 직선, 사각형 등의 기본적인 포맷 외에 몇 가지 확장된 포맷을 지원한다.
- 폴리곤: 폴리곤의 경우 5각형 이상을 만들 수 있고 이를 변형하여 별모양을 만들 수 있다.
- 선: 직선, 곡선을 그릴 수 있고 곡선의 경우에는 그림에서 보는 것처럼 곡률을 조절할 수 있는 인터페이스를 제공한다. 또 이런 곡점을 추가하는 것도 가능하다. (보통의 배지어 곡선은 정확하게 조정된 곡선을 만들기가 매우 어렵다.)
- 그라데이션: 도형에 색조의 변화를 지정할 수 있다.
- 그리고 각 도형에는 옵션으로 지정할 수 있는 값들이 있어서 이를 조절하면 더 다양한 효과를 줄 수 있다.

3. 추가정보
홈페이지: http://www.inkscape.org/
다운로드: http://www.inkscape.org/download/?css=css/base.css
스크린샷: http://www.inkscape.org/screenshots/index.php?css=css/base.css



Dia

Dia는 Visio를 지향하여 만든 그래픽 툴이다. Visio의 스텐실처럼 여러가지 모듈을 제공한다. 왼쪽의 그림을 보면 대충 이해하시리라 믿는다. Visio만큼 다양한 모듈을 제공하지는 않지만, 오픈 소프트웨어로선 매우 다양한 모듈을 제공한다는 느낌이다.

Dia에서 제공하는 shape 모듈 리스트: UML, Circuit, Network, Cisco (Computer, Network, Switch, Telephony, Misc), SDL, ER, Electric, Zigsaw, Logic, Sybase, ....

MS Window에서의 주의사항
사실 최근에 Dia를 사용했던 것은 버전 0.8까지였는데, 최근에 gnome 프로젝트로 이동하면서 많은 업데이트가 있었던 것 같다. 예전에 사용하던 버전에서는 한글이 포함된 디렉토리에 저장하거나 파일 이름을 한글로 하면 에러도 없이 프로그램이 죽어 버리는 현상이 있었는데, 지금 버전(0.95-1)은 한글 디렉토리에는 저장하지 못하는 수준으로 프로그램 오류가 완화됐다. 우분투 리눅스에서는 디렉토리 이름이 한글인 경우가 괜찮지만, 윈도우에서는 여전히 한글 디렉토리에 저장하지 못하는 문제가 발생했다. 윈도우에서 사용하시는 분들은 dia로 만든 파일이 저장될 디렉토리명에 주의하시길.

1. 지원하는 파일 포맷
Dia에서는 다음의 파일 포맷을 읽어올 수 있고 내보낼 수도 있다.
- DIA: Dia의 기본 파일 포맷이다.
- SVG, DXF, BMP, JPG, PNG, XPM, TGA, WMF, XFIG

Dia는 다음의 파일 포맷으로 내보낼 수 있다.
- Cxx: C++ 코드를 만들어 준다. (아마도 UML 다이어그램일 경우일 것 같다.)
- PY: Python 코드를 만들어 준다. (역시 UML 이 아닐까.)
- DOT: 역시 무슨 코드일 듯.
- TEX

2. 편집할 수 있는 도형
아래 그림에서 편집창 화면의 스크린샷을 볼 수 있다.

Dia는 SVG 파일을 편집할 수 있는 만큼 폴리곤, 직선, 곡선 등을 다룰 수 있다. 그러나 SVG를 전문적으로 편집하는 툴이 아닌 만큼 어느 정도 제약사항은 있는 것 같다. 따라서 벡터 그래픽의 세세한 조정을 원한다면 Inkscape를 사용하길 권장한다.

그러나, Dia만의 장점인 다양한 쉐이프 모듈의 사용 역시 버릴 수 없다. Dia에서 작성한 그림을 SVG로 내보내기(export)하면 Inkscape에서 읽을 수 있으므로 Dia 에서 필요한 모듈들을 포함시킨 그림을 작성한 후에 Inkscape에서 편집하는 것도 한 방법이 될 것 같다.

3. 추가정보
홈페이지: http://www.gnome.org/projects/dia/
필요한 프로그램: GTK Environment (윈도우 사용자는 Dia 다운로드 페이지에서 먼저 설치하시라.)
다운로드: 리눅스 (다운로드 페이지에서 동그란 원을 클릭해야 한다), MS Window
스크린샷: http://www.gnome.org/projects/dia/scrshot.html

2 개의 댓글:

GREEMOLD :

윈도우에서는 파워포인트를 사용하다가 최근 리눅스에서 Inkscape를 사용하고 있는데, Dia라는 툴도 있었군요. 소개글 잘 읽고 갑니다. 감사합니다.

Joongsoo :

도움이 되셨다니 저도 기쁘네요. 종종 들러주세요. ^^