Skip to main content

set 设置场景色调

set

类型: MethodDeclaration

定义位置: filter.ts

描述

设置场景色调

参数 tint: 色调数组[-255255, -255255, -255255, 0255]

参数 easingId: 过渡曲线ID

参数 duration: 持续时间(毫秒)

参数

参数名类型描述默认值
tintImageTint--
easingIdstring-''
durationnumber-n0

返回值

类型: void

源代码

位置: 第 103 行

public set(tint: ImageTint, easingId: string = '', duration: number = 0): void {
// 如果上一次的色调过渡未结束,移除
if (this.transition) {
this.transition.remove()
delete this.transition
}
if (duration > 0) {
const start = Array.from(this.tint)
const end = tint
const easing = Easing.get(easingId)
// 创建色调过渡计时器
this.transition = new Timer({
duration: duration,
update: timer => {
const tint = this.tint
const time = easing.get(timer.elapsed / duration)
tint[0] = Math.clamp(start[0] * (1 - time) + end[0] * time, -255, 255)
tint[1] = Math.clamp(start[1] * (1 - time) + end[1] * time, -255, 255)
tint[2] = Math.clamp(start[2] * (1 - time) + end[2] * time, -255, 255)
tint[3] = Math.clamp(start[3] * (1 - time) + end[3] * time, 0, 255)
},
callback: () => {
delete this.transition
},
}).add()
} else {
// 直接设置色调
this.tint[0] = tint[0]
this.tint[1] = tint[1]
this.tint[2] = tint[2]
this.tint[3] = tint[3]
}
}

文档生成时间:2025/7/7 12:07:06