# include“l_bitmap.h”
L_LTFIL_APIL_INTL_SetTag(uTag, uType, uCount, pData)
指定私有标记和要保存在TIFF文件中的标记数据。
标记来标识TIFF文件中的数据。通常,您可以在0x8000到0xFFFE的范围内指定私有标记。但是,如果你使用以下任何一个注册标记,LEADTOOLS将返回一个错误:
价值 | 意义 |
---|---|
0 x8298 | 版权的评论 |
0 x8769 | Exif将军评论 |
0 x8825 | Exif GPS评论 |
价值 | 意义 |
---|---|
0 x80a4 | 注释TIFF标记定义为ANNTAG_TIFF。 |
带标记的数据类型。有效值为:
价值 | 意义 |
---|---|
TAG_BYTE | [1]字节。 |
TAG_ASCII | [2]字节,取值范围为0 ~ 255。 |
TAG_SBYTE | [6]字节,用作有符号数,取值范围为-128 ~ +127。 |
TAG_UNDEFINED | [7]字节,应用程序定义的用法。 |
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格式有效)。 |
基于标记数据类型的数据项计数。例如,如果缓冲区大小为16,数据类型为TAG_DOUBLE,则计数为2。
指向缓冲区的指针,其中包含使用标记保存的数据。
价值 | 意义 |
---|---|
成功 | 活动很成功。 |
< 1 | 发生错误。指返回代码. |
该函数将数据从缓冲区复制到内部分配的缓冲区。在调用此函数后,您应该释放自己的缓冲区。在清除标记之前,保存的任何TIFF文件都将包含带标记的数据。LEADTOOLS在内存中保存了一个标记列表。该列表包含所有直接(通过调用L_SetTag)或间接(通过调用L_SetTag)设置的标记L_AnnSaveTag).所有这些标签都将被保存,除非您清除它们。清除标记并将其从列表中删除的方法是调用L_SetTag(uTag, 0,0, NULL)。L_SetTag(0,0,0,NULL)将从标签列表中删除所有标签。
有关TIFF标签的一般信息,请参阅实现TIFF注释和标签.
笔记:
当LEADTOOLS保存包含注释和标记的TIFF/Exif图像时,首先写入注释和标记,然后写入图像数据。此顺序不可配置。
若要将标记写入TIFF文件,请使用L_WriteFileTag或L_WriteFileTagMemory而不是使用L_SetTag后跟L_SaveFile或L_SaveFileMemory.
必需的dll和库
Win32, x64, Linux。
这个例子指定了一个标记,用于记录公司标志在图像上的位置。
它使用L_SetTag设置标记;使用L_GetTag测试标记;然后保存一个带有新标记的TIFF文件。
有关从文件中读取相同标记的示例,请参阅L_ReadFileTag。
L_INT SetTagExample(pBITMAPHANDLE)
{
L_INT nRet;
L_TCHAR msgbuf [80];/ *缓冲为消息字符串*/
L_UINT16 logposition = 0x8001;/ *我私人标签* /
L_UINT16 TagType = TAG_SSHORT;/*标记的数据类型*/
L_UINT32 TagCount = 4;/*数据项个数*/
L_INT TagData[] = {5,5,24,37};
L_VOID * pTagData = &TagData;/*指针指向包含数据*/的缓冲区
/*设置要保存的标签数据*/
nRet = L_SetTag(logposition, TagType, TagCount, pTagData);
如果(nRet != SUCCESS)
返回nRet;
/*清除变量,以便验证数据*/
TagType = 0;
TagCount = 0;
TagData[0] = 0;
TagData[1] = 0;
TagData[2] = 0;
TagData[3] = 0;
/*获取准备保存的标签数据*/
nRet = L_GetTag(logposition, &TagType, &TagCount, pTagData);
如果(nRet < SUCCESS)
返回nRet;
/*显示数据*/
如果((TagType == TAG_SSHORT) && (TagCount == 4))
{
wsprintf (msgbuf文本("X = %d\nY= %d\nWidth = %d\nHeight = %d"),
((L_INT *) pTagData) [0],
((L_INT *) pTagData) [1],
((L_INT *) pTagData) [2],
((L_INT *) pTagData) [3]);
消息框(NULL, msgbuf, TEXT(“商标位置”), MB_OK);
}
/*保存带有*/标记的文件
L_SaveBitmap(MAKE_IMAGE_PATH(TEXT)“TEST.TIF”)), pBitmap, FILE_TIF, pBitmap->BitsPerPixel, 0, NULL);
如果(nRet != SUCCESS)
返回nRet;
/*从内存中清除标签*/
nRet = L_SetTag(0, 0, 0, NULL);
返回成功;
}
帮助收藏
光栅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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。