如何用api函数划波浪线?

SenseKey 2002-07-03 04:54:57
各位大虾,请问如何用api函数很快划出波浪线?
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sippey 2002-07-03
  • 打赏
  • 举报
回复
sin 或 cos
Alsen 2002-07-03
  • 打赏
  • 举报
回复
就是呀,用正旋函数就可以呀!
thirdapple 2002-07-03
  • 打赏
  • 举报
回复
函数一:
【函数】
PolyBezier

【操作系统】
Win9X:Yes
WinNT:Yes

【声明】
PolyBezier Lib "gdi32" Alias "PolyBezier" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long) As Long

【说明】

描绘一条或多条贝塞尔(Bezier)曲线。PolyBezierTo用于将当前画笔位置设为前一条曲线的终点

【返回值】

Long,非零表示成功,零表示失败

【其它】


【参数表】
hdc ------------ Long,要在其中绘图的设备场景

lppt ----------- POINTAPI,指定一个POINTAPI结构数组。其中的第一个结构指定了起点。剩下的点三个一组——包括两个控件点和一个终点
原文:An array of POINTAPI structures. The first structure
specifies the starting point. The remaining points are in groups of three, consisting of
two control points and an end point.

cPoints -------- Long,lppt数组的总点数
--------------------------------------------------------------------
函数二:
【函数】
PolyBezierTo

【操作系统】
Win9X:Yes
WinNT:Yes

【声明】
PolyBezierTo Lib "gdi32" Alias "PolyBezierTo" (ByVal hdc As Long, lppt As POINTAPI, ByVal cCount As Long) As Long

【说明】

描绘一条或多条贝塞尔(Bezier)曲线。PolyBezierTo用于将当前画笔位置设为前一条曲线的终点

【返回值】

Long,非零表示成功,零表示失败

【其它】


【参数表】
hdc ------------ Long,要在其中绘图的设备场景

lppt ----------- POINTAPI,指定一个POINTAPI结构数组。其中的第一个结构指定了起点。剩下的点三个一组——包括两个控件点和一个终点
原文:An array of POINTAPI structures. The first structure
specifies the starting point. The remaining points are in groups of three, consisting of
two control points and an end point.
cPoints
Long,lppt数组的总点数
--------------------------------------------------------------------
函数三:
【函数】
PolyDraw

【操作系统】
Win9X:No
WinNT:Yes

【声明】
PolyDraw Lib "gdi32" Alias "PolyDraw" (ByVal hdc As Long, lppt As POINTAPI, lpbTypes As Byte, ByVal cCount As Long) As Long

【说明】

描绘一条复杂的曲线,由线段及贝塞尔曲线组成

【返回值】

Long,非零表示成功,零表示失败

【其它】

当前的画笔位置设为最后一条线段或lppt数组中的曲线的终点

【参数表】
hdc ------------ Long,用于绘图的设备场景

lppt ----------- POINTAPI,POINTAPI结构数组的第一个元素。这个数组用于为描绘的每一段都载入坐标数据。这些信息是用逻辑坐标提供的

lpbTypes ------- Byte,一个字节数组的第一个元素。这个数组定义了与每个坐标对应的操作类型。其中包括:
PT_MOVETO
坐标是一幅新打开图形的起点
PT_LINETO
坐标是来自前一个坐标的一条线的终点
PT_BEZIERTO
以三点一组的形式出现。头两个点是控制点,第三个是贝塞尔曲线的终点。PT_LINETO和PT_BEZIERTO也许能与PT_CLOSEFIGURE联合使用。在这种情况下,它代表一幅图形的最后一个点。将这个点与图形的第一个点连接起来后,图形就会封闭

cCount --------- Long,lppt和lpbTypes数组的大小,设为零表示取得需要的数组大小
原文:The size of the lpPoint and lpTypes array. Set to zero to retrieve the required
array size.
--------------------------------------------------------------------
函数四:
【函数】
Arc

【操作系统】
Win9X:Yes
WinNT:Yes

【声明】
Arc Lib "gdi32" Alias "Arc" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long

【说明】

象注解中那样画一个圆弧。(X1,Y1)和(X2,Y2)定义了椭圆的一个范围(约束)矩形。从矩形中心点到点(X3,Y3)的一条线段与椭圆的交点标志着圆弧的起点。而到(X4,Y4)的一条线与椭圆的交点则标志着圆弧的终点。ArcTo函数会将当前画笔位置设为弧的终点,而Arc函数则不会对当前的画笔位置造成影响

【返回值】

Long,非零表示成功,零表示失败

【其它】

在win16和win95中,约束矩形的宽度和高度必须在3——32766间。绘图方向肯定是逆时针方向。
在win nt中:绘图方向由SetArcDirection函数决定。默认为逆时针方向

【参数表】
hdc ------------ Long,一个显示场景的句柄

X1,Y1 ---------- Long,指定围绕椭圆的一个矩形的左上角位置

X2,Y2 ---------- Long,指定围绕椭圆的一个矩形的右下角位置

X3,Y3 ---------- Long,指定圆弧起点

X4,Y4 ---------- Long,指定圆弧终点
--------------------------------------------------------------------
函数五:
【函数】
ArcTo

【操作系统】
Win9X:No
WinNT:Yes

【声明】
ArcTo Lib "gdi32" Alias "ArcTo" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long

【说明】

象注解中那样画一个圆弧。(X1,Y1)和(X2,Y2)定义了椭圆的一个范围(约束)矩形。从矩形中心点到点(X3,Y3)的一条线段与椭圆的交点标志着圆弧的起点。而到(X4,Y4)的一条线与椭圆的交点则标志着圆弧的终点。ArcTo函数会将当前画笔位置设为弧的终点,而Arc函数则不会对当前的画笔位置造成影响

【返回值】

Long,非零表示成功,零表示失败

【其它】

在win16和win95中,约束矩形的宽度和高度必须在3——32766间。绘图方向肯定是逆时针方向。
在win nt中:绘图方向由SetArcDirection函数决定。默认为逆时针方向

【参数表】
hdc ------------ Long,一个显示场景的句柄

X1,Y1 ---------- Long,指定围绕椭圆的一个矩形的左上角位置

X2,Y2 ---------- Long,指定围绕椭圆的一个矩形的右下角位置

X3,Y3 ---------- Long,指定圆弧起点

X4,Y4 ---------- Long,指定圆弧终点
--------------------------------------------------------------------
应该够用了吧!你可以参阅有关API的工具,推荐API-Guide、袁飞Win32API,Snow_API,FoxAPI,Win32API参考大全等。
--------------------------------------------------------------------
部分资料来源于Snow_API及《Delphi 5 API函数开发实例》
--------------------------------------------------------------------
Made by Thirdapple's Studio
jlt2000 2002-07-03
  • 打赏
  • 举报
回复
在form上可以用图形命令画正弦曲线来代替啊!
还可以用GDI接口!
thinkeasy 2002-07-03
  • 打赏
  • 举报
回复
API好像没有画波浪线的函数

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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