L_CreateThumbnailFromFile

# include“l_bitmap.h”

L_LTFIL_APIL_INTL_CreateThumbnailFromFile(pszFile, pBitmap, uStructSize, pThumbOptions, pfnCallback, pUserData, pLoadOptions, pFileInfo)

从指定的图像文件创建缩略图。

参数

L_TCHAR* pszFile

字符串,包含要加载的文件的名称。

pBITMAPHANDLEpBitmap

指向加载数据的位图句柄的指针。

L_UINTuStructSize

所指向结构的大小(以字节为单位)pBitmap,用于版本控制。使用sizeof (BITMAPHANDLE)。

pTHUMBOPTIONSpThumbOptions

指向包含缩略图生成选项的结构的指针。传递NULL以获得默认选项。

FILEREADCALLBACKpfnCallback

用于额外处理的可选回调函数。

如果不提供回调函数,则该参数的值为NULL。如果提供回调函数,则使用函数指针作为此参数的值。回调函数必须遵循中描述的函数原型FILEREADCALLBACK函数

L_VOID* pUserData

可用于传递回调函数所需的一个或多个附加参数的空指针。

要使用此特性,请为变量赋值或创建包含所需字段的结构。然后,在这个参数中,传递变量或结构的地址,将其强制转换为L_VOID*。回调函数在自己的pUserData形参中接收地址,可以将其转换为适当数据类型的指针以访问变量或结构。

如果不需要附加参数,则可以在此参数中传递NULL。

pLOADFILEOPTIONpLoadOptions

指向可选扩展加载选项的指针。传递NULL以使用默认的加载选项。

pFILEINFOpFileInfo

指向FILEINFO结构。该结构可以包含加载图像时使用的文件信息,也可以使用有关正在加载的文件的信息进行更新。

如果对文件一无所知,则为该参数传递NULL,或者声明一个FILEINFO类型的变量并设置FILEINFO。标记为0,然后在此参数中传递FILEINFO结构的地址。在这种情况下,如果传递了FILEINFO结构的地址,则FILEINFO结构将使用的结果进行更新L_FileInfo

如果只知道文件类型,则设置pFileInfo。Format为文件类型,设置pFileInfo。指向FILEINFO_FORMATVALID的标志。如果之前已经调用了L_FileInfo,但是影响加载图像大小的值已经更改(例如,通过调用L_SetPCDResolutionL_SetWMFResolution).的结果将更新pFileInfo指向的FILEINFO结构L_FileInfo

如果在调用此函数之前已经调用了L_FileInfo,并且没有对由L_FileInfo填充的结构的内容进行任何更改,则填充的FILEINFO结构可以为此参数传递。在本例中,FILEINFO。Flags成员应该设置为FILEINFO_INFOVALID。L_FileInfo函数将设置FILEINFO。指向FILEINFO_INFOVALID的标志。在这种情况下,加载会更快,因为这个函数不需要查询文件类型的文件过滤器。

请注意:局部变量没有初始化(因为它们被放置在堆栈上)。因此,如果你有一个FILEINFO结构作为一个局部变量,它的Flags参数的值是未定义的,可能设置了FILEINFO_INFOVALID或FILEINFO_FORMATVALID。这就是初始化FILEINFO很重要的原因。在将FILEINFO结构的地址传递给函数之前。

返回

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

评论

此函数在内部由L_BrowseDir为枚举的每个文件创建/加载缩略图。您可以使用此函数为指定的图像文件手动创建缩略图。

由于函数分配存储空间来保存映像,因此由您通过调用来释放此存储空间L_FreeBitmap

默认的缩略图选项是:

pThumbOptions->nWidth = 80;pThumbOptions->nHeight = 80;pThumbOptions->nBits = 0;pThumbOptions->uCRFlags = 0;pThumbOptions->bMaintainAspect = TRUE;pThumbOptions->bForceSize = FALSE;pThumbOptions->crBackColor = RGB(0,0,0);pThumbOptions->bLoadStamp = TRUE;pThumbOptions->bResample = FALSE;

笔记

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

L_INT CreateThumbnailFromFileExample (L_VOID)BITMAPHANDLE LeadBitmap;L_INT nRet;THUMBOPTIONS选择;L_TCHAR * szFilename= MAKE_IMAGE_PATH(TEXT(“IMAGE1。CMP”));//创建一个默认选项的缩略图,并且没有回调nRet = L_CreateThumbnailFromFile(szFilename, &LeadBitmap,运算符(bitmaphandle), null, null, null, null, null, null);如果(nRet == SUCCESS)如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);//创建一个带有一些选项的缩略图,并且没有回调memset(选择0运算符(THUMBOPTIONS));opt.uStructSize =运算符(THUMBOPTIONS);opt.bLoadStamp = FALSE;opt.nHeight = 40;opt.nWidth = 80;opt.bForceSize = TRUE;opt.bMaintainAspect = TRUE;opt.crBackColor = RGB(255,0,0);nRet = L_CreateThumbnailFromFile(szFilename, &LeadBitmap,运算符(BITMAPHANDLE), &opt, NULL, NULL, NULL, NULL);如果(nRet == SUCCESS)如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;
栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。