FILEREADCALLBACK

# include“l_bitmap.h”

L_INTpEXT_CALLBACKYourFunction (pFileInfo pBitmap, pbuf、uFlags nRow,在线,pUserData)

处理调用的函数的输出图像数据写入到缓冲区。

参数

pFILEINFOpFileInfo

FILEINFO指针结构,其中包含图像信息。

pBITMAPHANDLEpBitmap

位图句柄的指针引用包含图像的位图信息。

L_UCHAR* pbuf

一个指向缓冲区包含一个或多个行输出图像数据,调用函数已经处理(读或解压)。

L_UINTuFlags

旗帜描述是否这是第一或最后调用回调,以及缓冲区是否包含第一或最后一行的图像数据。以下是可能的标志:

常数 意义
FILEREAD_FIRSTPASS [0 x0001]这是第一个通过累进JPEG或CMP文件。
FILEREAD_LASTPASS [0 x0002]这是最后一个通过累进JPEG或CMP文件。
FILEREAD_FIRSTROW [0 x0004]缓冲区的第一行是第一行的位图。
FILEREAD_LASTROW [0 x0008]缓冲区的最后一行的最后一行是位图。
FILEREAD_COMPRESSED [0 x0010]缓冲区中的数据比特压缩数据,你可以处理的解释加速1比特文件
FILEREAD_CLIPVERT [0 x0020]内部国旗。
FILEREAD_CLIPHORZ [0 x0040]内部国旗。
FILEREAD_UPDATELUT [0 x0080]内部国旗。

L_INTnRow

当前位图缓冲区中的第一行的行数。

L_INT在线

的行数pbuf缓冲区。

L_VOID* pUserData

一个空指针,您可以使用它们来访问一个变量或结构包含你的回调函数需要的数据。这给了你一个接收数据的方式间接地使用这个回调函数的函数。(这是相同的指针传递的pUserData参数调用的函数)。

请记住,这是一个空指针,必须投到适当的数据类型在你的回调函数。

返回

成功返回函数表明是成功的。

终止调用函数返回其他值。调用的函数会将这个值传给调用者。错误的列表值你可能想要使用,请参考返回代码

评论

几个LEADTOOLS函数使用这种类型的回调函数。在某些情况下,pbuf缓冲区包含数据,输出你的回调函数必须为了调用函数来完成任何事情。在其他情况下,回调是可选的,回调数据的副本,和回调的输出是除了调用函数的输出。指的是调用函数的描述,看看它使用回调。

FILEINFO结构传递到FILEREADCALLBACK功能不包含的页面总数。总页数,你应该打电话L_FileInfo并设置FILEINFO_TOTALPAGES国旗。

必需的dll和库

另请参阅

功能

例子

这个FILEREADCALLBACK函数把它加载的形象

/ * * * * * * * * * * * * * * * *全局声明* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // *结构回调函数的用户数据* /类型定义结构体tagIMAGECBPARM{HWND HWND;/ *当前窗口* /HDC HDC;/ *设备上下文当前窗口* /L_INT nRow;/ *第一行输入缓冲区* /HPALETTE hpalPaint;* / / *漆板处理实例句柄hInst;/ *当前应用程序的实例,设置的InitInstance函数* /矩形rLeadDest;/ *目标矩形绘画* /矩形rLeadSource;/ *源矩形绘画* /}IMAGECBPARMEX;/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /L_INT EXT_CALLBACK LoadImageCB (pFILEINFO pFILEINFO,pBITMAPHANDLE pBitmap L_UCHAR * pbuf,L_UINT uFlags, L_INT nRow, L_INT在线,IMAGECBPARMEX * pUserData){/ *如果是第一个调用(0)行,选择并实现调色板* /如果((uFlags & FILEREAD_FIRSTPASS) & & (uFlags & FILEREAD_FIRSTROW)){/ *设置源矩形使用整个位图* /SetRect (&pUserData - > rLeadSource, 0, 0, pFileInfo - >宽度,pFileInfo - >高度);WM_QUERYNEWPALETTE SendMessage (pUserData - > hwnd, 0, 0 l);SelectPalette (pUserData - > hdc pUserData - > hpalPaint, TRUE);RealizePalette (pUserData - > hdc);}油漆/ * * /缓冲到指定的设备上下文L_PaintDCBuffer (pUserData - > hdc, / * * /设备上下文——从函数参数pBitmap, / *位图处理——从函数参数* /&pUserData - > rLeadSource, / *全球源矩形-设置WM_CREATE * /&pUserData - > rLeadSource, / *源剪辑矩形一样——源矩形* /&pUserData - > rLeadDest, / *目标矩形-全球WM_CREATE * /&pUserData - > rLeadDest, / *目的地剪辑矩形一样——目标矩形* /SRCCOPY, / *罗普代码正常的绘画* /pbuf, / * * /输入缓冲区——从函数参数nRow, / *第一行缓冲——从函数参数* /(uFlags & FILEREAD_COMPRESSED) ?-nLines:在线);返回(成功);}

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