# include“l_bitmap.h”
L_LTDIS_APIL_INTL_UpdateMagGlass(hWnd, pColor, pMaskPlane, nMaskPlaneStart, nMaskPlaneEnd, bUpdateBitmap)
更新“放大镜”显示区域中显示的放大图像。
连接放大镜的窗口把手。
掩码平面阵列的起始位置。
掩码平面阵列的结束位置。
表示掩码平面的位标志数组。该数组作为位图中尚未更新的部分的平面。
值,该值表示当按下左键并且鼠标在窗口上移动时,用于更新位图部分的颜色缓冲区。
标志,指示是否更新传递给L_StartMagGlass的位图。可能取值为:
价值 | 意义 |
---|---|
真正的 | 更新传递给的位图L_StartMagGlass.(将放大镜移到图像上方时,会看到更新的区域,位图也会更新。) |
假 | 不更新传递到的位图L_StartMagGlass.(当将放大镜移动到图像上时,将看到更新的区域,但位图不会更新。) |
价值 | 意义 |
---|---|
成功 | 活动很成功。 |
< 1 | 发生错误。指返回代码. |
此函数只能在传递回调函数时调用L_StartMagGlass.如果将回调函数传递给L_StartMagGlass,则可以从回调函数获得位图中未更新部分的信息。然后,这些信息可以与LEADTOOLS Internet函数一起使用,用位图未更新部分的像素值填充pColor缓冲区。一旦这个pColor缓冲区被填充和接收,该信息和pColor
缓冲区可以传递给这个函数来更新放大镜图像。
pColor缓冲区也可以在不使用LEADTOOLS Internet函数的情况下进行填充。匹配pMaskPlane
,在回调函数中接收到的位图,并将对应的像素颜色填充到pColor缓冲区中。下面的例子解释了这个过程。
下图表示一个29像素宽,20像素高的位图。像素由蓝色的小方块表示。
定义一个MAGGLASSCALLBACK回调函数,并将其传递给L_StartMagGlass以启动放大镜。当鼠标在位图上移动时按下鼠标左键,MAGGLASSCALLBACK函数将接收(hWnd, nMaskPlaneStart, nMaskPlaneEnd, pMaskPlane, nMaskPlaneSize和pUserData)信息。每次回调函数接收到这个信息时,它就表示需要更新位图的一部分。可以通过调用L_UpdateMagGlass函数来更新位图。
上图中的黑色大方块表示位图的各个部分。每个部分最多可以包含64像素(8 * 8)。偶尔,部分可能小于64像素,特别是位图边缘的部分。每个部分由pMaskPlane数组中的1位字节表示。
例如,如果放大镜在位图上从像素坐标(9,3)(上图中红色所示)移动到(28,17)(上图中绿色所示),那么以下部分将受到影响:1,2,3,5,6,7,9,10和11。
因此,pMaskPlane中表示了9个部分。每个部分由pMaskPlane中的1位表示。因此,pMaskPlane中需要2个字节来表示位图的9个部分。每个部分将被映射到pMaskPlane数组中的一个字节,如下所示:
部分数量 | 一些指数 | 字节索引 |
---|---|---|
1 | 0 | 0 |
2 | 1 | 0 |
3. | 2 | 0 |
5 | 3. | 0 |
6 | 4 | 0 |
7 | 5 | 0 |
9 | 6 | 0 |
10 | 7 | 0 |
11 | 0 | 1 |
因此,从MAGGLASSCALLBACK函数接收到的pMaskPlane将包含2个字节。这两个字节中的每一位都将被0或1填充,表示该部分是否已更新。的nMaskPlaneStart
回调的参数将等于1,nMaskPlaneEnd参数将等于11。nMaskPlaneSize将等于2。
下一步是检查每个位值。如果bit值为1,则对应的部分需要更新,因此pColor缓冲区必须用对应的像素颜色填充。从nMaskPlaneStart中指定的部分开始。在这个例子中是第1部分。如果表示第1部分的位的值为1,那么pColor缓冲区应该用原始位图中对应的像素填充。必须始终从部分的第一个像素开始填充pColor缓冲数组。对于部分1,第一个像素的坐标为(8,0)。在行中移动,直到到达该部分的最后一个像素。在本例中,第一部分第一行的最后一个像素坐标为(15,0)。接下来,移动到下一行,将这一行的像素颜色添加到pColor缓冲区中。以这种方式继续,直到到达该部分的最后一个像素。在本例中,第1部分中的最后一个像素的坐标为(15,7)。
完成一个部分后,进入下一个部分。在这个例子中,下一部分是第二部分。检查位值pMaskPlane
这部分。假设它的位值为0。对于这一部分,不要用原始位图的像素颜色填充pColor缓冲区。继续进行其余部分,直到所指示的部分nMaskPlaneEnd
是达到了。
通过执行以下步骤pColor
缓冲区可以填充必要的像素颜色,并将其他信息传递给这个函数(L_UpdateMagGlass),并用于更新放大镜显示区域中显示的缩放图像。
如果bUpdateBitmap
为TRUE时,当鼠标移动到位图上并按下鼠标左键时,原始位图将被更新。
必需的dll和库
x64 Win32。
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。