rgbToHsl(rgbaArray)
返回类型:数组 [4]。
参数类型:rgbaArray 是数组 [4]。
将 RGBA 空间中的颜色转换为 HSLA 空间。输入是标准化的红色、绿色、蓝色和 Alpha 通道值数组,全部介于 0.0 到 1.0 范围内。生成的值是色相、饱和度、亮度以及 Alpha 通道值数组,同样介于 0.0 到 1.0 范围内。
上面是官方的说明。这里我们希望单独用一个滑块控制色彩的明度,如果是单一形状对象当然没必要这样做,但是如果是有很多对象需要同时控制明度,这个方法就很有用了。
这里我们以一个对象为例子:
给这个形状层添加一个slider control,给fill下的color添加表达式:
moreLight = effect("Slider Control")("Slider")/100; hsl = rgbToHsl(value); colorHSL = [hsl[0], hsl[1], hsl[2] + moreLight, hsl[3]]; hslToRgb(colorHSL)
rgba模式下的颜色,没有单独的明度/亮度的控制,所以我们是先将颜色转换成hsla。然后给其中的亮度添加控制,最后将颜色转换回来。
另外,这个小案例里,即使没有最后一行“hslToRgb(colorHSL)”,效果是一样的。但是后期如果想要修改颜色,就会有问题,所以还是必须转换回来。
请登录以参与评论
现在登录