如何在Julia中打印具有指定RGB值的文本?

时间:2015-01-13 19:12:47

标签: julia

例如,假设我想使用以下颜色打印文本:

R:0.5

G:0.8

B:0.1

我知道print_with_color()但据我所知它必须使用Symbol进行打印,而我不知道如何为任意颜色创建一个,或者如果实际可能的话

2 个答案:

答案 0 :(得分:3)

可能:

julia> function print_rgb(r, g, b, t)
           print("\e[1m\e[38;2;$r;$g;$b;249m",t)
       end
print_rgb (generic function with 1 method)

julia> for i in 0:100
           print_rgb(rand(0:255), rand(0:255), rand(0:255), "hello!")
       end

Julia terminal with pretty colors

答案 1 :(得分:0)

您可以尝试Crayons.jl。您的规格是浮动的,并且Crayons期望规格为0-255,因此必须进行一些转换:

julia> import Pkg; Pkg.add("Crayons")
julia> using Crayons
julia> a = (0.5, 0.8, 0.1)
(0.5, 0.8, 0.1)

julia> b = round.(Int, a .* 255)
(128, 204, 26)

julia> print(Crayon(foreground = b) , "My color string.")

Crayons.jl还支持字符串宏中的十六进制RGB规范:

julia> print(crayon"#80cc1a", "My color string.")