//对数调光光曲线生成START//
//对数调光光曲线生成START//
procedure TForm1.LightWave(a,b:string; color:byte; style:string; Gamma:Double; show:boolean; func:byte);
var
PwmData: array[0..65535] of double;
//GammaData: array[0..65535] of integer;
PwmLeves:integer;
CurveLeves, i,j:integer;
Ratio, f:Double;
begin
//如果当前曲线为要显示指令
if show = true then
begin
PwmLeves := StrToInt(a); //求出PWM级数
CurveLeves := StrToInt(b); //求出调光级数
//Ratio := (log10(PwmLeves)) / CurveLeves; //求出系数
j := 1;
//求出曲线
{for i := 0 to CurveLeves - 1 do
begin
PwmData[i] := Power(10, (i + 1) * Ratio);
iXYPlot1.Channel[color].AddXY(i, trunc(PwmData[i])) ;
end;
iXYPlot1.Channel[color].AddXY(0, trunc(PwmData[0])) ;//画线性直线
}
//对曲线进行GAMMA纠正
Ratio :&