在 Julia Gamezero 中,我想以编程方式更改绘制对象的色调。但是,colorant 不允许将变量替换为字符串

问题描述 投票:0回答:1

画(东西,着色剂“蓝色”)。我想以编程方式更改颜色并执行 绘制(某物,着色剂'rgb($(val),$(val),$(val))')。这不行。用 * 连接也不行。有什么想法

绘制方法无法正确解释着色剂

julia draw
1个回答
0
投票

colorant
字符串宏来自包
Colors
。 如果您不知道如何在 Julia 中执行某些操作,请先尝试
dump
:

julia> dump(colorant"blue")
RGB{FixedPointNumbers.N0f8}
  r: FixedPointNumbers.N0f8
    i: UInt8 0x00
  g: FixedPointNumbers.N0f8
    i: UInt8 0x00
  b: FixedPointNumbers.N0f8
    i: UInt8 0xff

你可以看到

colorant"blue"
刚刚创建了一个
RGB
对象。 让我们看看如何构建:

julia> methods(RGB)
# 6 methods for type constructor:
 [1] RGB(r::T, g::T, b::T) where T<:Integer
     @ c:\JuliaPkg\Julia-1.10.1\packages\ColorTypes\1dGw6\src\types.jl:460
 [2] RGB(r::T, g::T, b::T) where T<:Union{AbstractFloat, FixedPointNumbers.FixedPoint}
     @ c:\JuliaPkg\Julia-1.10.1\packages\ColorTypes\1dGw6\src\types.jl:108
...

那么让我们看看我们是否学会了如何构造颜色:

julia> RGB(0.0, 0.0, 1.0) == colorant"blue"
true

julia> RGB(1.0, 1.0, 0.0) == colorant"yellow"
true
© www.soinside.com 2019 - 2024. All rights reserved.