logo

줄리아에서 16진법 RGB 코드(HEX) 사용하는 법 📂줄리아

줄리아에서 16진법 RGB 코드(HEX) 사용하는 법

코드

줄리아에서 색깔을 다루기 위해 제공되는 패키지는 Colors.jl이다. 시각화 패키지인 Plots.jl을 불러오면 Colors.jl 내의 기능도 같이 사용할 수 있다. RGB 공간을 표현하는 색상 코드로는 RGB, BGR, RGB24, RGBX, XRGB가 지원되며 이들은 AbstractRGB의 서브 타입이다. RGBA는 RGB에 투명도가 더해진 것이다.

julia> using Plots

julia> subtypes(AbstractRGB)
5-element Vector{Any}:
 BGR
 RGB
 RGB24
 RGBX
 XRGB

julia> subtypes(AbstractRGBA)
2-element Vector{Any}:
 BGRA
 RGBA

문자열

함수 plot()의 색상을 지정하는 키워드에 문자열로 "#FF0000"과 같이 입력하면 16진법 RGB 코드인 HEX 코드를 사용할 수 있다. 사실 아래를 보면 알겠지만 문자열을 입력해도 되는 이유는 plot()이 문자열만 입력받아도 이를 알아서 파싱해주기 때문으로 보인다.

using Plots

r = "#FF0000"      # R빨간색 RGB(255, 0, 0)의 6자리 HEX 코드
g = "#00FF0033"    # 투명도가 0.2인 초록색 RGBA(0, 255, 0, 0.2)의 8자리 HEX 코드
p = "#80F"         # 보라색 RGB(255, 0, 136)의 3자리 HEX 코드

plot([1 2 3; 2 3 4], ones(2, 3), fillrange = 2,
        fillcolor = [r g p],
        label = [r g p])

파싱

colorant"#FF0000"과 같은 식으로 HEX 코드를 파싱할 수 있다.

julia> r = colorant"#FF0000"      # R빨간색 RGB(255, 0, 0)의 6자리 HEX 코드
RGB{N0f8}(1.0,0.0,0.0)

julia> g = colorant"#00FF0033"    # 투명도가 0.2인 초록색 RGBA(0, 255, 0, 0.2)의 8자리 HEX 코드
RGBA{N0f8}(0.0,1.0,0.0,0.2)

julia> p = colorant"#80F"         # 보라색 RGB(255, 0, 136)의 3자리 HEX 코드
RGB{N0f8}(0.533,0.0,1.0)

julia> plot([1 2 3; 2 3 4], ones(2, 3), fillrange = 2,
            fillcolor = [r g p])

parse(RGB, "#FF0000")와 같이 파싱할 수도 있다.

julia> parse(RGB, "#FF0000")
RGB{N0f8}(1.0,0.0,0.0)

julia> parse(RGBA, "#FF000080")
RGBA{N0f8}(1.0,0.0,0.0,0.502)

색 이름 얻기

함수 hex()는 색깔의 HEX 코드를 문자열로 반환한다.

julia> hex(colorant"red")
"FF0000"

julia> hex(colorant"rgb(0, 255, 128)")
"00FF80"

julia> hex(RGBA(1, 0.5, 0, 0.5), :RRGGBB)
"FF8000"

julia> hex(RGBA(1, 0.5, 0, 0.5), :RRGGBBAA)
"FF800080"

julia> hex(HSV(30,1.0,1.0), :AARRGGBB)
"FFFF8000"

같이보기

환경

  • OS: Windows11
  • Version: Julia 1.9.4, Plots v1.39.0, Colors v0.12.10, FixedPointNumbers v0.8.4

같이 보기