# include“l_bitmap.h”
L_LTFIL_APIL_INTL_FileInfoMemory (pbuf、pFileInfo uStructSize、nBufferSize uFlags, pLoadOptions)
加载文件位于内存的信息FILEINFO结构。
指针的位置在内存映像文件。
指针领先FILEINFO结构充满图像文件的数据。
请注意:你不应该通过未初始化FILEINFO结构L_FileInfo。
结构大小的字节,指向pFileInfo
版本控制。使用sizeof (FILEINFO)。
引用的文件的字节数pbuf
。
标志指示是否要更新TotalPages字段FILEINFO结构。可能的值是:
价值 | 意义 |
---|---|
FILEINFO_TOTALPAGES | [0 x0001]更新pFileInfo - > TotalPages领域总页数的文件。 |
0 | 不更新pFileInfo - > TotalPages字段。 |
指针可选的扩展加载选项。通过零使用默认加载选项。
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
使用此功能,请执行以下操作:
FILEINFO声明一个变量的数据类型。
文件加载到内存中,并分配变量在内存中对文件的位置和文件大小。
如果你越来越多页文件信息(可以包含多个图像),使用LOADFILEOPTION结构指定页码。你得到的信息将图像上指定的页面。
初始化FILEINFO结构为零值。
调用L_FileInfoMemory函数,传递指针指向文件在内存中,的地址FILEINFOFILEINFO大小的变量,结构,和文件大小的参数。
从FILEINFO描述的领域获得图像的信息结构。
平行四边形值检索L_FileInfoMemory可能并不总是正确的,因为它取决于内存文件保存数据。函数不加载文件对象但读取文件尺寸可能不保存在内存文件。
功能的概要文件的信息,请参考获取和设置文件的信息。
一些文件格式不包含一个定义良好的文件签名。特别是文档文件格式(TXT、PST等)。LEADTOOLS仍然可以检测使用文件扩展名的文件格式(例“pst”)。然而,当从内存加载文件文件名扩展不可用。为这个函数提供一个文件名扩展集pFileInfo
. name和扩展和pFileInfo图像文件的名字。旗帜FILEINFO_NAMEVALID当从内存加载。
笔记:
更多的选项可用LOADFILEOPTION结构。
不支持重定向输入输出文件格式。有关更多信息,请参考文件格式不支持重定向的IO。
你不应该通过未初始化FILEINFO这个函数。
必需的dll和库
Win32 x64, Linux。
列表的函数,利用LOADFILEOPTION或SAVEFILEOPTION结构,参考函数利用LOADFILEOPTION或SAVEFILEOPTION结构。
为完整的示例代码,参考记忆的例子。
这个例子中加载一个暂时的位图,将其保存为一个文件在内存中,然后驻留内存文件的信息。
L_INT FileInfoMemoryExample (L_VOID)
{
L_INT nRet;
BITMAPHANDLE TmpBitmap;/ *位图句柄为最初的图片* /
HGLOBAL hFileInMemory =零;/ * * /内存处理
L_SIZE_T uMemSize;/ *数据的大小在内存* /
L_TCHAR * pData;/ *指向数据的指针在内存* /
FILEINFO FILEINFO;/ *文件信息结构。* /
L_TCHAR szMessage [1024];/ *缓冲区来保存信息为显示。* /
/ *加载位图的位/像素* /
nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“ImageProcessingDemo \ \ Image3.cmp”&TmpBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);
如果(nRet ! =成功)
返回nRet;
/ *保存形象CMP文件在内存* /
nRet = L_SaveBitmapMemory (QS &hFileInMemory, &TmpBitmap FILE_CMP, 24日,&uMemSize, NULL);
如果(nRet ! =成功)
返回nRet;
/ *免费临时位图* /
如果(TmpBitmap.Flags.Allocated)
L_FreeBitmap (&TmpBitmap);
/ *获取指针指向的内存驻留文件* /
pData = (L_TCHAR *) GlobalLock (hFileInMemory);
/ *得到有关文件的信息在内存* /
memset (&FileInfo 0运算符(FILEINFO));
FileInfo。uStructSize =运算符(FileInfo);
nRet = L_FileInfoMemory ((L_UCHAR *) pData &FileInfo,运算符(FILEINFO) uMemSize 0零);
如果(nRet ! =成功)
返回nRet;
/ * * /释放内存
GlobalUnlock (hFileInMemory);
/ *从FILEINFO格式的消息字符串数据结构* /
wsprintf (szMessage文本(“格式:% d \ n \ n”)
文本(“宽度:% d \ n \ n”)
文本(“高度:% d \ n \ n”)
文本(“BitsPerPixel: % d \ n \ n”)
文本(文件大小:% ld \ n \ n”)
文本(“位图的大小:% ld \ n \ n”)
文本(“压缩:% s”),
FileInfo.Format,
FileInfo.Width,
FileInfo.Height,
FileInfo.BitsPerPixel,
(长)FileInfo.SizeDisk,
(长)FileInfo.SizeMem,
FileInfo (L_TCHAR *)。压缩);
/ *显示消息字符串* /
对话框(NULL, szMessage文本(“文件信息”),MB_OK);
/ * * /清理测试环境
GlobalFree (hFileInMemory);
返回成功;
}
帮助收藏
光栅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 / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。