# include“l_bitmap.h”
L_LTKRN_APIL_INTL_ChangeBitmapHeight (pBitmap nHeight)
增加或减少位图的分配高度。您可以在回调例程中使用此函数来调整在加载未知高度的图像时的分配。
指向引用要调整位图的位图句柄的指针。
以像素为单位的新高度。
价值 | 意义 |
---|---|
成功 | 函数成功。 |
< 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/2
L_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;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送到支持!应该有人联系你!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格开始新的聊天。
所有代理目前都离线。
聊天时间:
周一-周五
上午8:30 -下午6点
如需联系我们,请填写此表格,我们将通过电子邮件与您联系。