光滑的

类型定义结构体tagSMOOTH {L_UINTuStructSize;L_UINTuFlags;L_INTiLength;pBITMAPHANDLEpBitmapRegion;L_UINTuBitmapStructSize;L_HRGNhRgn;}平滑,*pSMOOTH;

光滑的结构为对象提供平滑信息L_SmoothBitmap函数。

成员

uStructSize

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

uFlags

决定平滑过程行为的标志。标志可以使用按位OR(|)进行组合。可能取值为:

价值 意义
SMOOTH_SINGLE_REGION 每发现一个凹凸或划痕L_SmoothBitmap,如果SMOOTHCALLBACK函数返回SUCCESS_REMOVE,删除的凹凸或缺口被添加到内部单个区域。如果回调返回SUCCESS_NOREMOVE,凹凸或缺口不会添加到单个区域。当L_SmoothBitmap返回,pBitmapRegion或hRgn将引用一个包含所有移除的凹凸或缺口的区域。如果还设置了SMOOTH_LEAD_REGION,则pBitmapRegion将被更新为pBitmap的浅拷贝,该pBitmap具有一个包含所有移除的凹凸或缺口的LEAD区域。如果没有设置SMOOTH_LEAD_REGION,则hRgn将使用包含所有已删除的缺口或凸起的Windows区域进行更新。当区域(LEAD或Windows)不再需要时,必须销毁它(pBitmapRegion->pRgnInfo或hRgn)。
SMOOTH_LEAD_REGION L_SmoothBitmap返回时,pBitmapRegion被更新为pBitmap的浅拷贝,该浅拷贝还包含一个包含所有移除的凹凸或缺口的区域。该标志必须与SMOOTH_SINGLE_REGION结合使用。要使用此标志,请声明一个类型的变量BITMAPHANDLE并将pBitmapRegion指向该变量。然后将uFlags设置为SMOOTH_SINGLE_REGION | SMOOTH_LEAD_REGION。此变量将在L_SmoothBitmap的回报。
SMOOTH_IMAGE_UNCHANGED 原图未变。
SMOOTH_FAVOR_LONG 在短的颠簸或划痕之前处理长颠簸或划痕。如果这个标志没有通过,短的比长的更受青睐。例如:
用iLength == 3平滑下面的图像
X
XXXXXXXXXX
倾向于做空会消除给予的两个“凸起”:
XXXXXXXXXX
支持长期捐赠可以填补捐赠的“空缺”:
XXXXX
XXXXXXXXXX
SMOOTH_ALLFLAGS 使用所有标志,这个标志的值等于(SMOOTH_SINGLE_REGION | SMOOTH_LEAD_REGION | SMOOTH_IMAGE_UNCHANGED | SMOOTH_FAVOR_LONG)

iLength

要去除(或填充)的凸起(或缺口)的长度。所有小于或等于这个尺寸的凹凸和划痕都将被处理。该值以像素为单位。

pBitmapRegion

指向类型变量的指针BITMAPHANDLE.如果SMOOTH_SINGLE_REGION | SMOOTH_LEAD_REGION已经在uFlags中设置,那么当L_SmoothBitmap返回,这是更新与pBitmap的浅拷贝,也有一个区域,其中包含删除凹凸和缺口。为此,声明一个类型为BITMAPHANDLE的变量,并将pBitmapRegion指向该变量。设置uFlags为(SMOOTH_SINGLE_REGION | SMOOTH_LEAD_REGION)。当不再需要该区域时,程序员有责任使用L_FreeBitmapRgn()来释放该区域。

uBitmapStructSize

pBitmapRegion指向的结构的大小,用于版本控制。使用sizeof (BITMAPHANDLE)。

hRgn

窗口区域的句柄。当L_SmoothBitmap只有在uFlags中设置了SMOOTH_SINGLE_REGION并且没有设置SMOOTH_LEAD_REGION时,才会用一个对应所有更改的窗口区域进行更新。要使用它,将flags字段设置为(SMOOTH_SINGLE_REGION)。当不再需要该区域时,由程序员负责使用Windows C API DeleteObject()删除该区域。

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