LIGHTPARAMS

类型定义结构体tagLIGHTPARAMSL_UINTuStructSize;L_UINTuFreq;L_UINTuRAmp;L_UINTuGAmp;L_UINTuBAmp;L_INTnAngle;L_UINTuXOrigin;L_UINTuYOrigin;L_INTnPhase;L_INT* pBuff;L_UINTuBuffCount;L_UINTuFlags;* pLIGHTPARAMS} LIGHTPARAMS;

LIGHTPARAMS结构提供所需的信息L_FunctionalLightBitmap函数。

成员

uStructSize

该成员必须设置为sizeof(LIGHTPARAMS)。

uFreq

值,该值表示频率因子。如果uFlags设置为FL_TRIGONOMETRY或FL_FREEHAND,则使用该成员。取值范围为1 ~ 10000。该值在内部除以100(对应于0.01 - 100.0的实际区间)。

uRAmp

如果位图是灰度的,该参数表示主通道的振幅。如果位图是彩色的,并且设置了FL_MUL或FL_LINEAR_QUADRATIC,该参数表示每个通道的振幅。如果位图是彩色的,并且使用FLB_ADD,这表示红色通道的振幅。该值为大于等于0的整数。这个值将与所选函数的结果相乘(sin, cos, user buffer,…)然后将乘法的结果添加到像素值中。这些函数以及实际缓冲区值的取值范围为−1到1。

uRAmp的取值范围为0©100。

uGAmp

值,表示使用加法操作时绿色的幅度(设置FL_ADD)。当使用灰度图像或使用乘法操作(设置FL_MUL)时,该值被忽略。如果uFlags包含FL_LINEAR_QUADRATIC,该值也会被忽略

uGAmp的取值范围为0©100。

uBAmp

值,表示使用加法操作时蓝色的幅度(设置FL_ADD)。当使用灰度图像或使用乘法操作(设置FL_MUL)时,该值被忽略。如果uFlags包含FL_LINEAR_QUADRATIC,该值也会被忽略

uBAmp的取值范围为0©100。

nAngle

值,表示角度(以百分之一度为单位)。如果uFlags设置为FL_TRIGONOMETRY或FL_FREEHAND,则使用该成员。nAngle的取值范围为-18000 ~ 18000。这个值在内部除以100。

uXOrigin

值,表示原点的X坐标(以像素为单位)。如果uFlags设置为FL_TRIGONOMETRY和FL_CIRCLES或FL_LINEAR_QUADRATIC,则使用此成员。

uYOrigin

值,表示原点的Y坐标(以像素为单位)。如果uFlags设置为FL_TRIGONOMETRY和FL_CIRCLES或FL_LINEAR_QUADRATIC,则使用此成员。

nPhase

值,表示相移角,单位为百分之一度,该成员在uFlags设置为FL_TRIGONOMETRY时使用。nPhase的取值范围为-18000 ~ 18000。该值将在内部除以100。

pBuff

指针保存所有代表用户绘制的形状的点。该成员仅在uFlags设置为FL_FREEHAND时使用。这些值应该在−1000到1000之间。它们被内部除以1000,所以实际值在−1到1之间。

uBuffCount

存储在pBuff中的点数。该成员仅在uFlags设置为FL_FREEHAND时使用。

uFlags

该成员有以下值:

价值 意义
FL_LINEAR_QUADRATIC [0x1000]如果设置了这个标志,光线将根据到中心的距离计算,由uXOrigin和uYOrigin参数表示,每个像素的亮度增加与效果中心的距离成正比。如果设置了这个标志,不要设置FL_TRIGONOMETRY, FL_FREEHAND。
FL_TRIGONOMETRY [0x2000]如果设置了这个标志,那么光将由正弦或余弦函数产生。如果设置了,则使用uFreq, nAngle, uXOrigin和uYOrigin来计算光。如果设置了这个标志,不要设置FL_LINEAR_QUADRATIC或FL_FREEHAND。
FL_FREEHAND [0x4000]如果设置了这个标志,用户将在pBuff参数中传递光的形状。如果设置了这个标志,nAngle, pBuff和nBuffCount将被使用。nAngle将决定光线相对于X轴的角度。如果设置了该标志,则不要设置FL_LINEAR_QUADRATIC或FL_TRIGONOMETRY。
FL_LINEAR_INNER [0x0001]线性光将集中在中心(uXOrigin, uYOrigin),并向外减弱。该标志仅在同时设置FL_LINEAR_QUADRATIC时有效。
FL_LINEAR_OUTER [0x0002]线性光将集中在离中心较远的点上,并向中心内减少(uXOrigin, uYOrigin)。该标志仅在同时设置FL_LINEAR_QUADRATIC时有效。
FL_QUADRATIC_INNER [0x0004]方形光将集中在中心(uXOrigin, uYOrigin),并向外减少。该标志仅在同时设置FL_LINEAR_QUADRATIC时有效。
FL_QUADRATIC_OUTER [0x0008]方形光将集中在离中心较远的点上,并向中心内减少(uXOrigin, uYOrigin)。该标志仅在同时设置FL_LINEAR_QUADRATIC时有效。
FL_UNIDIRECTION [0x0010]正弦或余弦函数将产生光作为线。

该标志仅在同时设置FL_TRIGONOMETRY时有效。这些线是平行的,没有中心。nAngle决定了这些线与X轴的夹角。

价值 意义
FL_CIRCLES [0x0020]正弦或余弦函数将产生围绕中心的圆(uXOrigin, uYOrigin)。

该标志仅在同时设置FL_TRIGONOMETRY时有效。

价值 意义
FL_ADD [0x0040]振幅参数值(uRAmp, uGAmp,和uBAmp)与所选函数(正弦,余弦,徒手)的结果相乘。然后将结果添加到等效通道的像素值中。这些函数以及实际缓冲区值的取值范围为−1到1。该标志仅在同时设置FL_TRIGONOMETRY或FL_FREEHAND时有效。
FL_MUL [0x0080] uRAmp指定的颜色因子与所选函数(正弦,余弦,写意)的结果相乘。结果与每个通道值相乘。

该标志仅在同时设置FL_TRIGONOMETRY或FL_FREEHAND时有效。

例子

示例请参见L_FunctionalLightBitmap

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