# include“l_bitmap.h”
L_INTpEXT_CALLBACKYourFunction (pFileInfo, pBitmap, pBuffer, uFlags, nRow, nLines, pUserData)
处理调用函数写入缓冲区的输出图像数据。
指向包含图像信息的FILEINFO结构的指针。
指向位图句柄的指针,该句柄引用包含图像信息的位图。
一个指向缓冲区的指针,其中包含调用函数已经处理(读取或解压缩)的一行或多行输出图像数据。
标记,描述这是回调的第一次调用还是最后一次调用,以及缓冲区包含图像数据的第一行还是最后一行。以下是可能的标志:
常数 | 意义 |
---|---|
FILEREAD_FIRSTPASS | [0x0001]这是第一次通过渐进式JPEG或CMP文件。 |
FILEREAD_LASTPASS | [0x0002]这是通过渐进式JPEG或CMP文件的最后一次传递。 |
FILEREAD_FIRSTROW | [0x0004]缓冲区的第一行就是位图的第一行。 |
FILEREAD_LASTROW | [0x0008]缓冲区的最后一行是位图的最后一行。 |
FILEREAD_COMPRESSED | [0x0010]缓冲区中的数据是1位压缩数据,您可以按照加速1位文档. |
缓冲区中第一行的当前位图行号。
pBuffer缓冲区中的行数。
一个空指针,可用于访问包含回调函数所需数据的变量或结构。这为您提供了一种从使用此回调函数的函数间接接收数据的方法。(这是传递给调用函数的pUserData参数的同一个指针。)
请记住,这是一个空指针,必须在回调函数中转换为适当的数据类型。
价值 | 意义 |
---|---|
成功 | 活动很成功。 |
< 1 | 发生错误。指返回代码. |
有几个LEADTOOLS函数使用这种类型的回调函数。在某些情况下,pBuffer缓冲区包含回调函数必须输出的数据,以便调用函数完成任何任务。在其他情况下,回调是可选的,回调获得数据的副本,并且回调的输出是调用函数输出的补充。请参阅调用函数的描述,以了解它如何使用回调。
的FILEINFO结构传递给FILEREADCALLBACK函数时不包含总页数。要获得总页数,您应该调用LFile: GetInfo并设置FILEINFO_TOTALPAGES标志。
Win32, x64
这个FILEREADCALLBACK函数在加载图像时绘制图像
/**************** 全局声明 **************************************/
/*使用的结构为回调函数的用户数据*/
类型定义结构体tagIMAGECBPARM
{
HWND HWND;/*当前窗口*/
HDC HDC;/*设备上下文为当前窗口*/
L_INT nRow;/*第一行在输入缓冲区*/
HPALETTE hpalPaint;/*调色板手柄*/
实例句柄hInst;/*应用程序的当前实例,由InitInstance函数设置
矩形rLeadDest;/*目标矩形为绘画* /
矩形rLeadSource;/*源矩形为绘画* /
} IMAGECBPARMEX;
/*******************************************************************************/
L_INT EXT_CALLBACK load magecb
pBITMAPHANDLE pBitmap, L_UCHAR *pBuffer,
L_UINT uFlags, L_INT nRow, L_INT nLines, IMAGECBPARMEX * pUserData
{
UNREFERENCED_PARAMETER(在线);
UNREFERENCED_PARAMETER (nRow);
UNREFERENCED_PARAMETER (pbuf);
UNREFERENCED_PARAMETER (pBitmap);
/ *如果这是第一次调用(第0行),选择并实现调色板*/
如果((uFlags & FILEREAD_FIRSTPASS) && (uFlags & FILEREAD_FIRSTROW))
{
/*设置源矩形使用整个位图*/
SetRect(&pUserData->rLeadSource, 0,0, pFileInfo->Width, pFileInfo->Height);
SendMessage (pUserData->hwnd, WM_QUERYNEWPALETTE, 0,0l);
SelectPalette(pUserData->hdc, pUserData->hpalPaint, TRUE);
RealizePalette (pUserData - > hdc);
}
/*绘制缓冲区到指定的设备上下文*/
LBitmapBase LeadBitmap (pBitmap);
LPaint (&LeadBitmap, pUserData->hdc);
(pBuffer, nLines * pBitmap->BytesPerLine);
LeadBitmap.SetSrcRect (&pUserData - > rLeadSource);
LeadBitmap.SetClipSrcRect (&pUserData - > rLeadSource);
LeadBitmap.SetDstRect (&pUserData - > rLeadDest);
LeadBitmap.SetClipDstRect (&pUserData - > rLeadDest);
LeadPaint。PaintDCBuffer(LeadBuffer, nRow, nLines, SRCCOPY);
返回(成功);
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。