根据坐标画线的问题

weige250 2005-03-16 02:31:43
有一组精确到小数的坐标值
如何根据坐标值画出直线或曲线?》

用canvas的lineto方法只能用整数,用api的话,uses里要加什么?

最好给个程序,谢谢
...全文
64 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
weige250 2005-03-17
象12345.345这样的数据,转换成整数后那么大,那还怎么画呢?窗体的象素值没有那么大的啊
回复
todouwang 2005-03-17
小数?
用trunc四舍五入行不?
回复
gzmhero 2005-03-17
看看下面的代码,略改一下就可以用了。

procedure TForm1.BitBtn1Click(Sender: TObject);
var
posY:Array[0..100] of integer;
i:Integer;
yPer:real;
yMin,yMax:integer;
begin
Randomize;
for i:=0 to 99 do
begin
posY[i]:=random(10000);
end;
/////////随机生成100个数据,你把你的数组放到这里处理。

yMin:=posY[0];
yMax:=posY[0];
for i:=0 to 99 do
begin
yMin:=min(yMin,posY[i]);
yMax:=max(yMax,posY[i]);
end;
///////////求高度
yPer:=Image1.Height/(yMax-yMin);
///////高度和像素转换
Image1.Canvas.MoveTo(0,0);
for i:=0 to 99 do
begin
Image1.Canvas.Pen.Color:=clRed;
Image1.Canvas.LineTo(round(i*(Image1.Width/100)),Round(posY[i]*yPer));
end;
end;

回复
weige250 2005-03-16
怎么转呢?
回复
firstshine 2005-03-16
你必须先把小数坐标转换为整数坐标。
回复
相关推荐
发帖
GAME,图形处理/多媒体
创建于2007-08-02

1166

社区成员

Delphi GAME,图形处理/多媒体
申请成为版主
帖子事件
创建了帖子
2005-03-16 02:31
社区公告
暂无公告