L_ChangeBitmapHeight

# include“l_bitmap.h”

L_LTKRN_APIL_INTL_ChangeBitmapHeight (pBitmap nHeight)

增加或减少位图的分配高度。您可以在回调例程中使用此函数来调整在加载未知高度的图像时的分配。

参数

pBITMAPHANDLEpBitmap

指向引用要调整位图的位图句柄的指针。

L_INTnHeight

以像素为单位的新高度。

返回

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

评论

这个函数更新位图句柄中的字段以反映更改。

所需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

这个FILEREADCALLBACK示例使用L_ChangeBitmapHeight来确保
最终位图的高度与加载的行总数相同。
当你加载传真文件,而你不知道有多少个的时候,这尤其有用
行在文件中。通常,您知道原始传真文件的宽度,但不知道高度。所以
您可以从分配一个小位图开始,并在解码文件时增加它的高度。

L_UINT TotalLines;/*加载的行数*/L_INT EXT_CALLBACK (pFILEINFO)pBITMAPHANDLE pBitmap,L_UCHAR * pbuf,L_UINT uFlags,L_INT nRow,L_INT在线,L_VOID * pUserData)UNREFERENCED_PARAMETER (pFileInfo);UNREFERENCED_PARAMETER (pbuf);UNREFERENCED_PARAMETER (uFlags);UNREFERENCED_PARAMETER (nRow);UNREFERENCED_PARAMETER (pBitmap);BITMAPHANDLE* pMyBitmap = (BITMAPHANDLE*) userdata;/*将当前行增加缓冲区的行数*/TotalLines + =在线;/*设置位图高度为总行数*/L_AccessBitmap (pMyBitmap);如果(TotalLines > (L_UINT)pMyBitmap->Height)L_ReleaseBitmap (pMyBitmap);L_ChangeBitmapHeight (pMyBitmap TotalLines);L_AccessBitmap (pMyBitmap);L_PutBitmapRow(pMyBitmap, pBuffer, nRow, pMyBitmap->BytesPerLine * nLines);L_ReleaseBitmap (pMyBitmap);返回(成功);L_INT ChangeBitmapHeightExample (L_VOID)L_INT nRet;BITMAPHANDLE LeadBitmap;BITMAPHANDLE DummyBitmap;FILEINFO FILEINFO;memset (&FileInfo 0运算符(FILEINFO));nRet = L_FileInfo (MAKE_IMAGE_PATH(文本(“OCR1.TIF”&FileInfo)),运算符(FILEINFO), 0, NULL);如果(nRet ! =成功)返回nRet;/*初始化并分配位图,为图像*/的实际大小的1/2L_InitBitmap (&LeadBitmap运算符(BITMAPHANDLE) FileInfo。宽度,FileInfo。Height / 2, FileInfo.BitsPerPixel);L_AllocateBitmap (&LeadBitmap TYPE_CONV);nRet = L_LoadFile (MAKE_IMAGE_PATH(文本(“OCR1.TIF”&DummyBitmap)),运算符(BITMAPHANDLE), 0, ORDER_BGR, 0, LoadImageCB, (L_VOID*)&LeadBitmap, NULL, NULL);如果(nRet ! =成功)返回nRet;L_FreeBitmap (&LeadBitmap);L_FreeBitmap (&DummyBitmap);返回nRet;

LEADTOOLS光栅成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。