L_TunnelBitmap

# include“l_bitmap.h”

L_LTIMGSFX_APIL_INTL_TunnelBitmap (pBitmap、ptCenterPoint uZValue、nDistance uRad, nRepeat, nRotationOffset, uStretch, uStartBright, uEndBright, uBrightLength, crBright, crFill, uFlags)

将位图在一个隧道沿z轴。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用的位图被改变。

ptCenterPoint

点结构,包含点的相机或观众注视你的时候。可能是位图外边界。

L_UINTuZValue

显示屏幕在z轴偏移,以像素为单位。

L_INTnDistance

相机的距离观看屏幕,以像素为单位。

L_UINTuRad

隧道半径。

L_INTnRepeat

沿着z轴位图重复的次数。如果nRepeat = 1位图将无限重复。其范围从1开始。

L_INTnRotationOffset

在z轴旋转隧道在像素的步骤。如果TUN_AXIS_WIDTH选项然后选择位图宽度沿z轴和nRotationOffset将位图的高度相当于一个完整的周期。如果TUN_AXIS_HEIGHT选项设置,然后沿着z轴位图的高度是nRotationOffset将位图的宽度相当于一个完整的周期。

L_UINTuStretch

值表示是否扩大或压缩位图,和是多少。如果uStretch < 100位图将扩大。如果uStretch > 100位图将被压缩。使用100保持位图的尺寸。该参数的值是在内部除以100。

L_UINTuStartBright

值表明外部光源的亮度的隧道。可能的值从0到100不等。显示值为0表示没有外界光的隧道。值100表示外部光源与完整的显示亮度。

L_UINTuEndBright

值表明外部光源的亮度在隧道的尽头。可能的值从0到100不等。值为0表示没有外部灯光显示在隧道的尽头。值100表示外部光源亮度显示的位图。

L_UINTuBrightLength

值表明多少亮度的变化沿Z轴移动。这个参数是内部乘以50。

也就是说crBright

指定的颜色的COLORREF价值外部光源照射在隧道里。

也就是说crFill

指定背景颜色的COLORREF值。

L_UINTuFlags

国旗显示位图的背景色和尺寸沿z轴延伸。您可以使用一点明智或(|)指定一个国旗从每组。

以下是显示背景颜色的标志:

价值 意义
PLANE_FILL_CLR [0 x0001]使用crFill作为背景颜色。
PLANE_NO_CHG [0 x0002]使用图像本身作为背景。

以下是旗帜,表明沿z轴位图尺寸是:

价值 意义
TUN_AXIS_WIDTH [0 x0010]位图宽度将沿着z轴。
TUN_AXIS_HEIGHT [0 x0020]位图的高度将沿着z轴。
TUN_FILL_CLR [0 x0001]填补任何暴露的地区crFill
TUN_NO_CHG [0 x0002]离开暴露面积,而不改变它。

返回

价值 意义
成功 函数是成功的。
< 1 一个错误发生。指返回代码

评论

这个函数不支持已签名的数据图像。它返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED如果签名数据图像是传递给这个函数。

这个函数显示的效果将位图在一个隧道沿z轴。外部指定颜色和亮度的光源可以照耀的位图。沿着z轴的亮度可能会有所不同根据uBrightLength价值。

改变相机的中心点,旋转角度和显示屏幕Z-offset将模拟沿轴移动。

如果位图有一个地区,效果将只应用于区域维度。

这个函数支持12和16位灰度和48和64位彩色图像。支持12和16位灰度和48和64位彩色图像是可用的文档和医疗成像工具包。

更新状态栏或检测用户中断在执行这个函数,引用L_SetStatusCallback

例如,见下图:

图像\ Tunnel_before.gif

下图显示了相同的位图,后效应被应用:

图像\ Tunnel_after.gif

为了获得这种效果,使用以下设置功能:

中心(x, y) = (200200)
uZValue = 0
nDistance = 200
uRad = 200
nRepeat = 1
nRotationOffset = 195
uStretch = 25
uStartBright = 0
uEndBright = 100
uBrightLength = 45
crBright = RGB (255255255)
crFill = RGB (255255255)
uFlags = PLANE_FILL_CLR | TUN_AXIS_WIDTH

这个函数不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

L_INT TunnelBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;图片* / / *位图句柄点CenterPt;/ *加载位图的位/像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“ImageProcessingDemo \ \ Beauty16.jpg”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ *把图片放在隧道的宽度沿z轴* /CenterPt。x = LeadBitmap.Width / 2;CenterPt。y = LeadBitmap。高度/ 2;nRet = L_TunnelBitmap (LeadBitmap &LeadBitmap CenterPt 0。高度,LeadBitmap。宽/ 2 1 0,25岁,0100年,20000年,RGB (255, 0, 0), RGB (0, 0, 0), TUN_AXIS_WIDTH | PLANE_FILL_CLR);如果(nRet ! =成功)返回nRet;nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”))、&LeadBitmap FILE_BMP, 24岁,0,NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;}
LEADTOOLS光栅成像C API的帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。