如何画一条连续的贝塞尔曲线?

ambush 2004-03-14 02:32:32
如何画一条连续的贝塞尔曲线?
我做的曲线不光滑,应当如何做呢?
下面是我做的小例子,请大侠们指点!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
m_points:array[1..100] of TPoint;
m_n:integer;//点的数目
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
self.m_n:=0;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if self.m_n>=100 then exit;
self.m_points[self.m_n].x:=x;
self.m_points[self.m_n].y:=y;
self.Repaint;
self.Canvas.PolyBezier(Slice(self.m_points, self.m_n));
self.m_n:=self.m_n+1;
end;

end.

...全文
294 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ambush 2004-03-14
  • 打赏
  • 举报
回复
您讲的“精度”是指?
广州接入 2004-03-14
  • 打赏
  • 举报
回复
精度再搞一些!

1,183

社区成员

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

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