曲线

类型定义结构体tagCurveL_UINTuStructSize;L_INTnType;L_INTnPointCount;L_POINT*如此;L_UINTuFillMode;L_DOUBLEdTension;L_INTnClose;L_INTnReserved;}曲线,*pCURVE;

曲线结构定义的曲线L_SetBitmapRgnCurve功能和L_CurveToBezier函数。

成员

uStructSize

此结构的大小(以字节为单位),用于版本控制。使用sizeof()操作符计算该值。

nType

标志,指示定义的曲线类型。可能取值为:

价值 意义
CURVE_BEZIER 中指定的点如此之字段定义一个贝塞尔曲线。
CURVE_STANDARD 中指定的点如此之场定义一个标准曲线。
CURVE_NATURAL_CUBIC_SPLINE 中指定的点如此之场定义一个自然三次样条曲线。

nPointCount

的点数如此之数组中。

如果nType是:

如此之

指向包含定义曲线的点的L_POINT结构数组的指针。

uFillMode

标志,指示如何处理复杂的交叉线。以下为有效值,如下图所示:

价值 意义
L_POLY_WINDING [0]所有在生成的外部行内的像素都在区域中。
L_POLY_ALTERNATE [1]区域包括每条扫描线上奇数多边形边和偶数多边形边之间的区域。
图像\ starcurve8.gif

dTension

值,表示连接点的曲线的“直线度”。此值仅在以下情况下使用nTypeCURVE_STANDARD。有效值在0.0到1.0之间,其中0.0表示直线,1.0表示曲率最高的直线。dTension的典型值是0.5。

图像\ Tension.gif

nClose

值,该值指示曲线如何闭合。此值仅在以下情况下使用nTypeCURVE_STANDARD。可能取值为:

价值 意义
CURVE_NO_CLOSE [0x0]对于n个点,绘制(n - 3)段。例如,对于点{P0, P1, P2, P3, P4},绘制段P1P2和P2P3。
CURVE_CLOSE [0x1]为n个点绘制(n)段。例如,对于点{P0, P1, P2, P3, P4},绘制段P0P1, P1P2, P2P3, P3P4, P4P0。
CURVE_PARTIAL_CLOSE [0x2]对于n个点绘制(n - 1)段。例如,对于点{P0, P1, P2, P3, P4},绘制段P0P1, P1P2, P2P3, P3P4(但不包括P4P0)。

在下面的图表中,得到的区域以灰色显示。

图像\ CurveClose.gif

nReserved

保留以备将来使用。

评论

类使用了CURVE结构L_SetBitmapRgnCurve函数使用POINT项数组绘制曲线。它也被用于L_CurveToBezier函数将曲线转换为贝塞尔曲线。CURVE结构可以定义三种类型的曲线:

一些将此结构作为参数的函数要求在函数调用之前对结构进行初始化。您必须设置uStructSize成员赋给结构的总大小(以字节为单位)。使用sizeof()操作符计算该值。不需要初始化结构的函数将把结构的总大小(以字节为单位)作为附加的函数形参。

栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。