현재 색상표에 RGB 값을 불러내는 방법

게시판 IDL Q&A 현재 색상표에 RGB 값을 불러내는 방법

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #2306 Reply
      ChoiYoun
      회원

      안녕하세요.
      현재 색상표에 RGB 값을 불러내는 방법이 궁금하여 글 남깁니다.
      간략한 코드는 아래와 같습니다.

      device, decom=0
      !p.background=255 ;white background
      !p.color=0 ;black color
      loadct, 39

      dum = indgen(24+2)
      colorindex = bytscl(dum)

      여기서 colorindex를 print하면 다음과 같은 결과 값이 나옵니다.

      0 10 20 30 40 51 61 71 81 92 102 112 122 133 143 153 163 174 184 194 204 215 225 235 245 255

      원하는 색상만 골라서 아래와 같은 코드를 이용해 원하는 색상의 칼라바를 만들고 싶습니다.

      TVLCT, rc, gc, bc

      즉, 현재 로드된 39번 색상표의 215 색의 RGB를 어떻게 하면 알아낼 수 있을까요.

    • #2307 Reply
      Jonghyuk
      회원

      IDL> loadct, 39
      % LOADCT: Loading table Rainbow + white
      IDL> tvlct, r, g, b, /GET
      IDL> print, r[215], g[215], b[215]
      255 119 0
      IDL> tvlct, rgb, /GET
      IDL> help, rgb
      RGB BYTE = Array[256, 3]
      IDL> print, rgb[215, *]
      255
      119
      0

    • #2311 Reply
      Sangwoo
      회원

      원하는 색상들로 구성된 컬러테이블을 만들려면 컬러테이블을 구성할 256개의 색상들의 R, G, B값들을 모두 알아야 합니다. 그래서 R, G, B 각각에 해당되는 256개의 값들로 이루어진 배열을 만들어 TVLCT의 인자로 사용하면 됩니다. 예를 들면 다음과 같습니다.

      red = BINDGEN(256)
      green = BINDGEN(256)
      blue = BINDGEN(256)
      TVLCT, red, green, blue

      물론 여기서는 간단한 예제로서 red, green, blue를 모두 BINDGEN(256)으로 했지만, 이 내용이 사용자의 목적에 따라 달라질 수 있게 됩니다.

2 답변 글타래를 보이고 있습니다
'현재 색상표에 RGB 값을 불러내는 방법'에 답변달기
글쓴이 정보: