简单的调光方程式帮助。计时器和不透明度
Simple Dimming equation help. Timer and Opacity
您好,在我的程序开始时,我的屏幕上有一个黑色淡入淡出,以模拟显示器关闭的错觉。无论如何,我希望能够设置变暗所需的时间(以毫秒为单位),但我无法计算出数学。定时器的间隔为 1ms。这是我已经编写的代码,我需要将 0.005 更改为变量。
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Opacity <= 0.999)
{
this.Opacity = this.Opacity + 0.005;
}
else
timer1.Stop();
}
如有任何帮助,我们将不胜感激。谢谢!
如果您的计时器每 X 秒触发一次 (X=0.001),并且您的总不透明度变化为 N(N = 1 - 0 = 1),并且效果持续时间为 T(T = 可变),您的即时不透明度变化dX 将是 dX = N / (F * T),其中 F 是定时器频率,F = 1 / X。
因此,dX = N / (T * 1 / X) = N * X / T = 0.001 * T
您好,在我的程序开始时,我的屏幕上有一个黑色淡入淡出,以模拟显示器关闭的错觉。无论如何,我希望能够设置变暗所需的时间(以毫秒为单位),但我无法计算出数学。定时器的间隔为 1ms。这是我已经编写的代码,我需要将 0.005 更改为变量。
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Opacity <= 0.999)
{
this.Opacity = this.Opacity + 0.005;
}
else
timer1.Stop();
}
如有任何帮助,我们将不胜感激。谢谢!
如果您的计时器每 X 秒触发一次 (X=0.001),并且您的总不透明度变化为 N(N = 1 - 0 = 1),并且效果持续时间为 T(T = 可变),您的即时不透明度变化dX 将是 dX = N / (F * T),其中 F 是定时器频率,F = 1 / X。
因此,dX = N / (T * 1 / X) = N * X / T = 0.001 * T