覆盖概述

一般信息

叠加位图是在主位图之上绘制的单独的1位位图。每个主位图最多可以有17个(max_overlay + 1)覆盖位图。覆盖存储在包含max_overlay + 1项的数组中。每个数组条目都包含覆盖位图及其属性。该数组使用一个基于0的索引。(即第一个条目的索引为0。)

对于每个覆盖层,值为0的覆盖像素被认为是透明的。值为1的覆盖像素被认为是非透明的,将使用OVERLAYATTRIBUTES.crColor中设置的颜色进行绘制。

控件可以自动绘制覆盖层L_PaintDC函数,也可以手动使用L_PaintDCOverlay.L_PaintDC以升序索引绘制覆盖层:索引0的覆盖层首先绘制,索引1的覆盖层其次绘制,等等。如果您需要更改覆盖的绘制顺序,则必须使用L_PaintDCOverlay手动绘制它们。另一种选择是重新排列覆盖,并确保索引为0的覆盖是您想要首先绘制的覆盖,然后使用L_PaintDC。

覆盖属性

每个覆盖层都有一些属性(或属性),这些属性可以由用户设置。这些属性分为两类:

显示属性

这些属性指定如何绘制覆盖:

财产 描述
起源 相对于位图的左上角显示边距的左上角偏移量。偏移量位于显示视图透视图中,其中0,0表示左上角。
颜色 用于绘制覆盖层位1的颜色。
指数 每个覆盖层都有一个索引(0 - max_overlay)。
BitPosition 相关的位平面(仅对每像素位图的灰度8、12和16位有效)。每个覆盖可以与位图位平面相关联(在0和位图的BitsPerPixel - 1之间)。您可以指定是否要将每个覆盖与位平面相关联。不要将其与Index混淆。叠加的相关位位置不必与叠加索引相同。只有设置了UseBitPlane标志,此属性才有效。
AutoPaint国旗 控件是否自动绘制覆盖层L_PaintDC函数与否。如果设置,L_PaintDC将自动绘制这个覆盖层。如果没有设置,L_PaintDC将不会自动绘制这个覆盖层。在这种情况下,您可能想手动绘制覆盖,使用L_PaintDCOverlay
自动处理国旗 标志,该标志决定当相关位图发生变化时是否自动处理覆盖。
如果设置了,当相关的位图被旋转、翻转、反转、调整大小、剪切时,覆盖将被自动处理。左边,右边和覆盖的大小将自动调整,以保持在相应的位图像素。
如果没有设置,当相关位图被旋转、翻转、反转、调整大小、剪切时,覆盖层将不会自动处理。
UseBitPlane国旗 标志,指示是否应该使用BitPosition属性。如果设置,BitPosition是对应的平面索引(0位图位/像素- 1)。如果没有设置,BitPosition属性将被忽略。

DICOM-related属性

这些属性是DICOM特定的,基于DICOM标准PS 3.3中定义的“覆盖平面模块属性”:

财产 描述
覆盖中的行数。
覆盖层中的列数。
类型 指示该覆盖层是否表示感兴趣的区域或其他图形。
BitsAllocated 在覆盖层中分配的比特数。
描述 关于覆盖的用户定义注释。
子类型 已定义的术语,用于标识覆盖类型的预期用途。
标签 用户定义的文本字符串,可用于标记或命名此覆盖。
ROIArea 感兴趣区域中的像素数。
ROIMean 感兴趣区域的平均像素值。
ROIStandardDeviation 感兴趣区域中像素值的标准偏差。
NumFramesInOverlay 覆盖层中的帧数。如果覆盖数据包含多个帧,这是必需的。
ImageFrameOrigin 应用该覆盖的多帧图像的帧数;帧从1开始编号。
ActivationLayer 覆盖层将在其中显示。

覆盖操作

覆盖数组在您第一次为特定覆盖索引设置属性或位图时自动创建。当主位图被释放时,覆盖数组被自动释放。若要设置特定叠加的属性,请使用L_SetOverlayAttributes.一次可以设置一个或多个属性。要获取特定叠加层的当前属性,请调用L_GetOverlayAttributes.的L_GetOverlayCount获取已定义的覆盖数。

叠加位图独立于主位图。为每个覆盖位图分配单独的内存。你可以通过以下方法设置叠加位图:

  1. 调用L_SetOverlayBitmap然后传递叠加位图。

  2. 使LEADTOOLS从主位图的某个位平面的位生成一个覆盖位图L_UpdateBitmapOverlayBits以及在uFlags中设置SETOVERLAYBITS_FROMBITMAP。

要获取特定叠加的叠加位图,请调用L_GetOverlayBitmap

你可以用覆盖位图中的位来更新主位图中相应的位平面L_UpdateBitmapOverlayBits和设置SETOVERLAYBITS_FROMOVERLAY标志。这可用于在图像处理功能期间保存特定的位平面。防止某个图像处理函数对位平面的影响:

要保留整个位平面,请确保覆盖偏移量为0,0,并且覆盖与覆盖位图具有相同的大小。这在默认情况下是正确的,但是如果你改变了覆盖的位置和大小,你必须重置它们。

默认的覆盖宽度是显示位图宽度-覆盖的左偏移量。覆盖的左偏移量在OVERLAYATTRIBUTES.ptOrigin.x成员中设置。显示宽度取决于位图的视图视角,它是在屏幕上绘制的位图的宽度,缩放系数为100%。

默认的覆盖高度是显示位图高度-覆盖的顶部偏移。覆盖的顶部偏移量在OVERLAYATTRIBUTES.ptOrigin.y成员中设置。

你可以通过调用来改变覆盖位图的大小L_SetOverlayBitmap.注意,您可以使用未分配的位图调用L_SetOverlayBitmap。在这种情况下,只使用覆盖位图的宽度和高度。

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