根据坐标画线的问题

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

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

最好给个程序,谢谢
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
你必须先把小数坐标转换为整数坐标。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧