본문으로 바로가기

아이콘 패키지 icons

category 카테고리 없음 2024. 5. 20. 14:48

제작자 홈페이지: http://www.satisoft.com/tcltk/icons

GUI 제작 시 표준 아이콘이 준비가 되어 있다면 편리할 것입니다. GUI를 제작하는 프로그래머는 이미지/아이콘등 외관에 상당히 민감하며, 많은 시간을 이것에 소모하기도 합니다. 자바에는 Java Look and Feel Graphics Repository가 있는 것처럼, Tcl/Tk에는 표준 아이콘 라이브러리의 icons 패키지가 있다고 할 수 있습니다.

  • 멀티플랫폼에 대응하고 있습니다.
  • 아이콘 라이브러리와 확장 아이콘이 분리되어 있습니다.
  • 표준으로는 1종류, 확장으로는 4종류의 아이콘 라이브러리를 갖고있습니다.(약2000개)
  • 아이콘 라이브러리는 텍스트파일로 기술되어 있습니다.
  • 아이콘 확인용에 사용되는 브라우저가 제공되고 있습니다.
  • 라이선스에 제한이 없습니다.

icons 패키지의 설치

제작자 홈페이지에서 Posix 계열의 운영체제이면 icons.tgz를, windows 계열 이면 icons.zip을 다운로드합니다. 다운로드한 후 압축을 풀고, 아이콘 라이브러리와 확장 아이콘을 설치합니다. 확장 아이콘은, 보통 확장 패키지와 같은 디렉터리에 복사해 둡니다. 아이콘 라이브러리는 info library 로 확인하여 그 디렉토리에 반드시 두어야 합니다.

위의 이미지를 보시면 icons1.0 디렉터리에는

icons.tcl, pkgIndex.tcl, viewIcons.tcl

3개의 라이브러리 파일이 놓이고, tcl8.4(info library를 해서 얻은 디렉터리) 디렉터리에는

tkIcons, tkIcons.crystal, tkIcons.ikons, tkIcons.kde, tkIcons.klassic, tkIcons.slick

의 기본 아이콘과 확장 아이콘이 놓이게 됩니다.

아이콘 라이브러리

현재의 icons 패키지에는 5종류의 아이콘 라이브러리가 포함되어 있습니다.

tkIcons, tkIcons.kde: Linux KDE 아이콘(표준아이콘)

tkIcons.ikons: Kristof Borrey 씨의 iKons 아이콘과 Linux KDE 아이콘

tkIcons.crystal: 크리스털 아이콘

tkIcons.klassic: klassic 아이콘

tkIcons.slick: Slick 아이콘

확장 아이콘

icons 패키지는 아이콘 라이브러리를 간단하게 사용하기 위한 ICONS 확장이 포함되고 있습니다. 아이콘 라이브러리의 이름을 생략한 경우는 tkIcons(tkIcons.kde와 같음)가 됩니다.

package require icons
namespace import icons::*
 
icons create {actreload16 navhome16}
button .b1 -relief flat -image ::icon::actreload16
button .b2 -relief flat -image ::icon::navhome16
pack .b1 .b2 -side left

 

-file 옵션으로 아이콘 라이브러리의 이름을 지정할 수 있습니다.

package require icons
namespace import icons::*
 
icons create -file tkIcons.crystal {filenew-22 fileopen-22}
button .b1 -relief flat -image ::icon::filenew-22
button .b2 -relief flat -image ::icon::fileopen-22
pack .b1 .b2 -side left

아이콘 브라우저

icons 패키지에는 아이콘 브라우저가 포함되어 있기 때문에, 사용하고 싶은 아이콘을 쉽게 찾을 수가 있습니다. 아이콘의 사이즈는 6, 8, 10, 12, 14, 16, 18, 20 중 선택할 수 있습니다. 아이콘에 마우스 커서를 가져가면 아이콘의 설명이 나옵니다.

아이콘을 클릭하면 다음과 같은 Tcl코드가 클립보드에 복사됩니다. 여러분의 Tcl 코드에 붙여 넣으면 아이콘을 내장할 수 있는 편리한 기능입니다.

image create photo stop-22 -data {
   R0lGODlhGAAYAIUAAASC/PxiZPxqbPx+hPzCxPzOzPza3Pze5PzS1Py6vIwm
   JPxeZPyipPymrPyepPyWnPySlPyKjPx6fKROTPxudPxydJw2PPxGTPzO1PyG
   jPyChPx2fPxmbPxaXPwCBPz+/PxSVOQuNHwCBPyenPxCRNQaHIQCBPw+PPxW
   VPw+RPwqLMQKDPwWFPxOTPwyNPweJPwKDPxGRPwODPwiJPwuNPweHPwaHKwK
   DKQOFJwKDAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAYABgAAAbf
   QIBwSCwaj8ikMiBgOptK4oBQMBgOBgQhoYgCFgZGg0F2PCARyURJQUDeZ3Rk
   MKhQLMgLZpDR9PsDEhsUHAsdeEUeCRx2Gx8bFRUCHB8BICAXISKJIwsLAR+h
   AaOhHyAkJCUmiRInKCgdpSilFykpKiubRB4gLCokFy2loSQnLi8wuYkxHh4y
   LzMupTQ1Ns0eyrsq183DH9weN6u7LNylHufXN7pDHjDX6eih1zjsQuDo4N/0
   9kIi+AA91EPyLyA/JQUDDowiAkcOhxAf9ksiwoSIixYvetnIsaNHJQaCAAAh
   /mhDcmVhdGVkIGJ5IEJNUFRvR0lGIFBybyB2ZXJzaW9uIDIuNQ0KqSBEZXZl
   bENvciAxOTk3LDE5OTguIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQpodHRwOi8v
   d3d3LmRldmVsY29yLmNvbQA7
}