L_HalfToneBitmap

# include“l_bitmap.h”

L_LTIMGCOR_APIL_INTL_HalfToneBitmap(pBitmap, uType, nAngle, uDim, hList, uFlags)

使用指定的模式旋转将1-、4-、8-、16-、24-或32位位图转换为半色调位图。半色调位图是用于黑白打印或显示的1位位图。

参数

pBITMAPHANDLEpBitmap

指向位图句柄的指针,该句柄引用要转换的位图。

L_UINTuType

值,该值指示要执行的半调色类型。可能取值为:

价值 意义
HT_PRINT [0x0000]打印用半色调
HT_VIEW [0x0001]显示半色调
HT_RECT [0x0002]矩形半色调
HT_CIRC [0x0003]圆形半色调
HT_ELLIPS [0x0004]椭圆半色调
HT_RAND [0x0005]随机半色调
HT_LINEAR [0x0006]线性半色调
HT_USERDEF [0x0007]用户自定义半色调

L_INT32nAngle

旋转的角度,用百分之一度表示值为0产生水平半色调图案。此参数指定要更改模式的度数。正值使图案顺时针旋转;负值使图案逆时针旋转。如果选择的半色调模式为HT_RECT, HT_CIRC或HT_RAND或HT_USERDEF,则忽略此值。

L_UINTuDim

值,该值指示颗粒的大小。如果选择的半色调模式是HT_VIEW或HT_PRINT,则忽略此值。如果模式不是HT_VIEW或HT_PRINT, uDim应该是>= 1。如果这个参数< 1,这个函数将返回ERROR_INV_PARAMETER(-13)。

HBITMAPLISThList

如果选择HT_USERDEF选项,将用于半色调的位图列表的句柄。

L_UINT32uFlags

保留以备将来使用。必须是0。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

此函数不支持签名数据映像。如果将签名数据图像传递给该函数,则返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED。

对于HT_USERDEF选项,列表中的位图数量必须至少等于(uDim* uDim + 1).索引越高的位图对应的强度值越高。

该函数可以对整个图像进行处理,也可以对图像的某个区域进行处理。

此功能不支持12位和16位灰度以及48位和64位彩色图像。

若要在执行此函数期间更新状态栏或检测用户中断,请参阅L_SetStatusCallback

此函数支持32位灰度图像。

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

L_INT HalfToneBitmapExample (L_VOID)L_INT nRet;BITMAPHANDLE LeadBitmap;/*位图句柄图片*/BITMAPHANDLE TmpBitmap;/*临时位图构建列表*/HBITMAPLIST hList;L_INT我;/*按每像素的比特数加载位图*/nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT(“sample5.cmp”&LeadBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet ! =成功)返回nRet;nRet = L_CreateBitmapList(&hList);如果(nRet ! =成功)返回nRet;(i = 0;I <= 36;+ + i)nRet = L_CopyBitmap(&TmpBitmap, &LeadBitmap,运算符(BITMAPHANDLE));如果(nRet ! =成功)返回nRet;/ *旋转,使用透明色作为填充色*/nRet = L_RotateBitmap (&TmpBitmap, 1000 * i, 0, RGB(0,0,0));如果(nRet ! =成功)返回nRet;nRet = L_InsertBitmapListItem(hList, (L_UINT)-1, &TmpBitmap);如果(nRet ! =成功)返回nRet;/*填充hList至少26位图*//*位图半色调*/nRet = L_HalfToneBitmap(&LeadBitmap, HT_USERDEF, 0,5, hList, 0);如果(nRet ! =成功)返回nRet;nRet = L_DestroyBitmapList(hList);如果(nRet ! =成功)返回nRet;L_SaveBitmap(MAKE_IMAGE_PATH(TEXT)“Result.BMP”)), &LeadBitmap, FILE_BMP, 24, 0, NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;
栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。