# include“l_bitmap.h”
L_LTFIL_APIL_INTL_ReadFileTag(pFile, uTag, pType, pCount, pData, pLoadOptions)
从支持TIFF标记的文件中获取指定的带标记数据。使用此函数可以读取任何TIFF标记,而不仅仅是您定义的标记。
包含输入文件名的字符串。
标记来标识数据。属性中指定的相同标记L_SetTag函数。注册标签的例子有:
价值 | 意义 |
---|---|
0 x8298 | 版权的评论 |
0 x8769 | Exif将军评论 |
0 x8825 | Exif GPS评论 |
0 x80a4 | 注释TIFF标记定义为ANNTAG_TIFF。 |
要用带标记的数据类型更新的变量的地址。可能取值为:
价值 | 意义 |
---|---|
TAG_BYTE | [1]字节,取值范围为0 ~ 255。 |
TAG_ASCII | [2]字节,取值范围为0 ~ 127。 |
TAG_SBYTE | [6]字节,用作有符号数,范围为-128到+127。 |
TAG_UNDEFINED | [7]字节,取值范围为0 ~ 255,由应用程序定义。 |
TAG_SHORT | [3]两个字节,无符号。 |
TAG_SSHORT | [8]两个字节,带符号。 |
TAG_LONG | [4]四个字节,无符号。 |
TAG_SLONG | [9]四个字节,带符号。 |
TAG_RATIONAL | [5]八个字节,用作一对无符号长整数,其中第一个数字是分子,第二个数字是分数的分母。 |
TAG_SRATIONAL | [10]八个字节,用作一对有符号的长整数,其中第一个数字是分子,第二个数字是分数的分母。 |
TAG_FLOAT | [11]用作浮点数的四个字节。 |
TAG_DOUBLE | [12]用作双精度浮点数的8个字节。 |
TAG_IFD | [13] 32位IFD偏移量。 |
TAG_LONG8 | [16]无符号64位整数(仅BigTIFF格式有效)。 |
TAG_SLONG8 | [17]带符号的64位整数(仅BigTIFF格式有效)。 |
TAG_IFD8 | [18] 64位IFD偏移量(仅对BigTIFF格式有效)。 |
要用数据项计数更新的变量的地址。计数基于标记的数据类型。例如,如果计数为2,数据类型为TAG_DOUBLE,则所需的缓冲区大小为16。
指向要用数据更新的缓冲区的指针。传递NULL以使用该函数的返回值来确定所需的缓冲区大小。
指向可选扩展加载选项的指针。传递NULL以使用默认的加载选项。
价值 | 意义 |
---|---|
> 0 | 标记数据的长度,以字节为单位。 |
< = 0 | 发生错误。指返回代码. |
调用这个函数两次通常很方便,如下所示:
pData
参数。使用返回值确定所需的缓冲区大小。有关TIFF标签的一般信息,请参阅实现TIFF注释和标签.
该函数将读取数据大小大于4字节的标记的数据。在某些情况下,您可能希望读取数据偏移量而不是数据本身。这对于读取包含在MakerNote标记中的标记非常有用。使用L_ReadFileTags读取标记的数据偏移量。
类的FILEINFO结构可以加快读取标记的过程L_ReadFileTag2函数。
必需的dll和库
Win32, x64, Linux。
下面的示例使用L_ReadFileTag读取图像上公司标志位置的标记。
它从示例中为L_SetTag创建的TIFF文件中读取标记。
L_INT ReadFileTagExample (L_VOID)
{
L_INT nRet;
L_TCHAR msgbuf [80];/ *缓冲为消息字符串*/
L_UINT16 FillOrder = 0x010A;/*填充订单标签*/
L_UINT16 TagType;/*标记的数据类型*/
L_UINT32 TagCount;/*数据项个数*/
L_VOID * pTagData;/*指针指向包含数据*/的缓冲区
HGLOBAL hBuf;/*句柄到缓冲区*/
L_INT32 BufferSize;/*需要的缓冲区大小*/
/*获取所需的缓冲区大小*/
BufferSize = L_ReadFileTag(MAKE_IMAGE_PATH(TEXT)“OCR1.TIF”)), FillOrder, &TagType, &TagCount, NULL, NULL);
/*分配并锁定缓冲区*/
如果((TagType == TAG_SHORT) && (BufferSize > 0))
{
hBuf = GlobalAlloc(GMEM_MOVEABLE, BufferSize);
pTagData = GlobalLock(hBuf);
}
其他的
{
返回BufferSize;
}
/*获取标记数据*/
L_ReadFileTag(MAKE_IMAGE_PATH(TEXT)“OCR1.TIF”)), FillOrder, &TagType, &TagCount, pTagData, NULL);
如果(nRet <= 0)
返回nRet;
/*显示数据*/
如果((TagType == TAG_SHORT) && (TagCount == 1))
{
wsprintf (msgbuf文本("FillOrder = 0x%02X"), (短) * (L_INT *) pTagData);
消息框(NULL, msgbuf, TEXT(“填补秩序”), MB_OK);
}
/ /我们不再需要的内存
GlobalUnlock (hBuf);
GlobalFree (hBuf);
返回成功;
}
帮助收藏
光栅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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。