페이지

글타래

2009년 6월 16일 화요일

MS-Windows 에서도 Paint.Net 말고 더 좋은 김프를 쓰자! GTK와 GDK

ms-windows 유저분들,혹시 김프를 아십니까??

김프의 다름아닌 장점 한가지를 말하라면,다른것 보다도 윈도우즈에서(ms) 32bpp 비트맵을 로드하고 저장하는 편집할 수 있는 몇안되는 (현재까지(2009년초) 알아본 이미지 편집기 중에서) 유일한 이미지 편집기(포토샵제외) 라는 것이다. 이 사실자체만으로도 대단하다. 이것은 Paint.net도 안되고 Paintshop도 아직 안되는것으로 알고있다.즉,24비트 비트맵까지만을 지원한다..ms-windows 플랫폼에서 32비트 비트맵을 지원하는 그 어떤 심플한 그래픽툴이없다. (비스타의 그림판은 될려나...확인못함..하지만 그림판의 차세대라고 점찍은 Paint.Net이 안되니,,, 그것또한 남의 공개라이브러리를 가져다 쓴 작은 아웃소싱 회사의 작품이다)
Paint.Net은 cximage라는 공개 라이브러리 소스를 사용하는데 그것이 24비트만 지원한다.
참고로,공개라이브러리 중 PaintLib 라는것이 훨씬 탁월하다. 이것은 32BPP 그리기가 지원된다.
왜 32비트 ,32bpp 라고 말하냐면, 이 포맷부터가 RGBA 즉 알파브렌딩을 지원하기 때문이다.
즉,윈도우 스킨이나 기타 비트맵 이미지에서 투명,반투명한 모양새를 나타낼수 있는 것이다.
(PNG등의 포맷은 예전부터 있던 ALPHA BLEND 였지만,,, 그래서 크기도 작고 장점이 있어서 요새 다시 부각되며 자주 쓰이는 복고풍의 이미지 포맷인 것이다 ㅋㅋ,PNG 부활시대)




GTK와 GDK




1. GIMP Toolkit
* 양해의 글 - 저도 어설프게 나마 알고 있는 부분들이라 객관적인 사실과 특성에 있어서 틀린 부분이 있을 수 있겠습니다. 바르게 고쳐 알려주신다면 자료를 찾아보고 변경하겠습니다.
GTK는 "GIMP Toolkit"의 약자이다.

그럼 GIMP는 무엇인가 리눅스에 관심이 있는 사람들이라면 한번쯤 들어봤을만한 이미지 편집기이다.바로 리눅스에서 사용할 수 있는 포토샵인것이다 두둥 (과장이 너무 심한건가 ㅡ.ㅡ).
본인도 별로 똑똑한 사람은 아니라 정확히는 모르고 GIMP를 만들기 위해 존재했었다는 얘기를 들었던 기억이 있다. 하지만 지금은 어떤가 GTK의 Tutorial을 보면 이런말이 가장 처음 적혀있다. "GTK (GIMP Toolkit) is a library for creating graphical user interfaces" 그렇다 GUI를 만들기 위한 툴킷 라이브러리이다.

2. GDK
GDK와 우리가 가장많이 할일은 그리기와 Event이다.
"GDK 라이브러리는 GTK+ 위젯(어플리케이션)과 윈도우 시스템을 이어주는 추상적 계층을 제공해줍니다" 라고 '그놈 플랫폼 아키텍쳐 개관'란에 적혀있다. -_-; 그 이전은 본인도 안해봐서 잘은 모르겠으나 듣기로는 GTK와 GDK의 구분이 없었다고 한다. 하지만 지금은 GTK와 윈도우 시스템 사이에 GDK가 있다.실제로 X Window든 MS Windows든 플랫폼과의 대화는 GDK가 맡아서 하고 GTK는 GDK와 좀더 쉬운 대화를 하는것이다. Event나 Drawing처럼 X Window와 친하게 지내야하는 작업들을 GTK와 플랫폼(일반적으로 X Window) 사이에서 처리 해 주는것이다. 그뿐 아니라 Font, Style, 이미지제어등 GUI의 중요한 부분들을 담당하고 있다. GTK는 이러한 GDK를 이용하여 구조적인 부분을 담당한다.현재에는 Xlib을 래핑하고 있는것은 GDK이다. GTK는 그 GDK를 이용하는것이다.

3. GTK와 GDK 그리고 X Window
X Window에서의 GUI 구현을 편리하게하고 개발자를 여유롭게 만들어 준다.
우리가 X Window에서 GUI를 만들려면 어떻게 해야할까? 가장 기본적인 방법으로는 Xlib을 이용하여 개발하는것이 있다. 이것은 매우 귀찮고 어려울 수 있는 일이다.Xlib은 X Window에서 GUI 개발을 할 수 있는 가장 기본적인 라이브러리이다. 화면에 필요한 Widget들을 그려내고 GUI뿐만 아니라 X Window 시스템에 관련된 대부분의 기능을 지원하지만 원초적인 정보와 기능들만을 제공한다. 개발자가 Xlib을 사용하여 GUI부분을 구현한다면 직접 정보를 관리하고 안정성을 책임져야한다.





기사를 더 읽으려면 http://www.gnome.or.kr/web/default/58 이곳으로 !





김프받기: http://www.gimp.org/ http://gimp.kr/

http://jaist.dl.sourceforge.net/sourceforge/gimp-win/gimp-2.6.6-i686-setup.exe

댓글 없음:

댓글 쓰기