(100分)-----请解释一小段关于delphi画布(canvas)的代码,
下面这是一段关于用canvas画sin函数的程序,请大家花点时间看看,,谢谢了,请在后面写上注释,,-procedureTForm1.Button1Click(Sende...
下面这是一段关于用canvas画sin函数的程序,请大家花点时间看看,,谢谢了,请在后面写上注释,,-procedure TForm1.Button1Click(Sender: TObject); //这句我知道,不用注释
var x,y:double; //解释double类型
px,py, halfheight:integer; //这句我知道,不用注释begin
halfheight:=form1.Height div 2; //form1的高度除2,
for px:=0 to form1.Width do //for语句用法我了解
begin
x:=px*(2*pi/form1.Width );//简略解释
y:=sin(x); //解释一下sin();括号中支持什么数据类型
py:=trunc(0.7*y*halfheight)+halfheight;
canvas.Pixels[px,py]:=0; //这两句要重点解释下,完全不懂
canvas.Pixels[px,halfheight]:=0 //这两句要重点解释下,完全不懂
end;
end;--知道的来说下,谢谢了! 展开
var x,y:double; //解释double类型
px,py, halfheight:integer; //这句我知道,不用注释begin
halfheight:=form1.Height div 2; //form1的高度除2,
for px:=0 to form1.Width do //for语句用法我了解
begin
x:=px*(2*pi/form1.Width );//简略解释
y:=sin(x); //解释一下sin();括号中支持什么数据类型
py:=trunc(0.7*y*halfheight)+halfheight;
canvas.Pixels[px,py]:=0; //这两句要重点解释下,完全不懂
canvas.Pixels[px,halfheight]:=0 //这两句要重点解释下,完全不懂
end;
end;--知道的来说下,谢谢了! 展开
1个回答
2013-12-22
展开全部
…………//double双精度实数。占用字节8,有效数字15~16(因为二进制转十进制问题),数值范围-1.7*10负308次方~1.7*10的308次方。x:=px*(2*pi/form1.Width );//x的值等于px取值乘以2π倍form1的图像宽度…………//括号中支持x的数据类型,它是双精度的,就是双精度,是整型、浮点型的也支持....
canvas.Pixels[px,py]:=0; //把画布[px,py]处的像素值设为0canvas.Pixels[px,halfheight]:=0//把画布[px,halfheight]处的像素值设为0
canvas.Pixels[px,py]:=0; //把画布[px,py]处的像素值设为0canvas.Pixels[px,halfheight]:=0//把画布[px,halfheight]处的像素值设为0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询