在Julia GameZero中如何程序化修改绘制对象的色调?
GameZero程序化修改绘制对象色调的解决办法
别用字符串插值给colorant宏传参数,这玩意儿是代码解析阶段处理的,认不出运行时生成的字符串。直接用Colors模块里的颜色构造函数就行,GameZero本身依赖这个模块,不用额外安装:
- 如果你要生成灰度色(
val范围0到1的浮点数):# 构造RGB颜色对象 custom_color = RGB(val, val, val) Draw(somethin, custom_color) - 要是
val是0-255的整数,先转成0-1的浮点数:val = 150 custom_color = RGB(val/255, val/255, val/255) Draw(somethin, custom_color) - 需要透明度的话用
RGBA构造:# 最后一个参数是透明度,范围0到1 transparent_color = RGBA(val, val, val, 0.7) Draw(somethin, transparent_color)
colorant宏只适合写死的颜色值(比如colorant"blue"),动态生成颜色必须用构造函数的方式——这是因为宏在代码运行前就处理完了,没法识别运行时的变量插值。
内容的提问来源于stack exchange,提问作者user23547900
相关产品推荐
相关产品推荐

