# include“l_bitmap.h”
L_LTFIL_APIL_INTL_CreateThumbnailFromFile(pszFile, pBitmap, uStructSize, pThumbOptions, pfnCallback, pUserData, pLoadOptions, pFileInfo)
从指定的图像文件创建缩略图。
字符串,包含要加载的文件的名称。
指向加载数据的位图句柄的指针。
所指向结构的大小(以字节为单位)pBitmap
,用于版本控制。使用sizeof (BITMAPHANDLE)。
指向包含缩略图生成选项的结构的指针。传递NULL以获得默认选项。
用于额外处理的可选回调函数。
如果不提供回调函数,则该参数的值为NULL。如果提供回调函数,则使用函数指针作为此参数的值。回调函数必须遵循中描述的函数原型FILEREADCALLBACK函数.
可用于传递回调函数所需的一个或多个附加参数的空指针。
要使用此特性,请为变量赋值或创建包含所需字段的结构。然后,在这个参数中,传递变量或结构的地址,将其强制转换为L_VOID*。回调函数在自己的pUserData形参中接收地址,可以将其转换为适当数据类型的指针以访问变量或结构。
如果不需要附加参数,则可以在此参数中传递NULL。
指向可选扩展加载选项的指针。传递NULL以使用默认的加载选项。
指向FILEINFO结构。该结构可以包含加载图像时使用的文件信息,也可以使用有关正在加载的文件的信息进行更新。
如果对文件一无所知,则为该参数传递NULL,或者声明一个FILEINFO类型的变量并设置FILEINFO。标记为0,然后在此参数中传递FILEINFO结构的地址。在这种情况下,如果传递了FILEINFO结构的地址,则FILEINFO结构将使用的结果进行更新L_FileInfo.
如果只知道文件类型,则设置pFileInfo。Format为文件类型,设置pFileInfo。指向FILEINFO_FORMATVALID的标志。如果之前已经调用了L_FileInfo,但是影响加载图像大小的值已经更改(例如,通过调用L_SetPCDResolution或L_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);
}
返回成功;
}
帮助收藏
光栅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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。