本教程演示如何使用LEADTOOLS SDK在Windows C/ c++ API应用程序中读写TIFF标记和注释。
概述 | |
---|---|
总结 | 本教程介绍如何使用LEADTOOLS函数在Windows C DLL应用程序中读取和写入TIFF标记和注释。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(19kb) |
平台 | Windows C DLL应用程序 |
IDE | Visual Studio 2017, 2019 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
熟悉创建项目和加载/显示图像的基本步骤添加引用和设置License而且加载,显示和保存图像教程,在工作之前读写TIFF标签和注释- Windows C DLL教程。
中创建的项目的副本开始加载,显示和保存图像教程。如果项目不可用,请按照该教程中的步骤创建它。
打开预编译的头文件(或pch.h
或stdafx.h
,取决于所使用的Visual Studio的版本),并确保添加了以下行。
#定义LTV21_CONFIG
# include“C: \ LEADTOOLS21 \ \ L_Bitmap.h包括”//使用安装LEADTOOLS的实际路径
# pragma评论(自由,“C: \ \ LEADTOOLS21 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltkrn_x.lib”)
# pragma评论(自由,“C: \ \ LEADTOOLS21 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltfil_x.lib”)//文件加载和保存
# pragma评论(自由,“C: \ \ LEADTOOLS21 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltdis_x.lib”)/ /图像显示
请注意
有关特定应用程序特性所需的dll的完整列表,请参阅要包含在应用程序中的文件- C API
许可证解锁项目所需的特性。它必须在调用任何工具包功能之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中更详细地介绍了添加LEADTOOLS引用和设置许可证添加引用和设置License教程。
创建了项目、添加了引用、设置了许可证并添加了加载图像代码之后,就可以开始编码了。
在解决方案资源管理器,双击资源文件(.rc)。
添加一个新的Tiff评论的菜单项文件下拉菜单,之间开放而且保存物品。保留新菜单项的ID为ID_FILE_TIFFCOMMENT
.
打开项目的CPP文件并导航到指向
函数。下开关(wmId)
语句的下面WM_COMMAND
Case,添加一个新Case和下面的代码。
开关(wmId)
{
情况下ID_FILE_TIFFCOMMENT:
{
char szFileName[260] = TEXT("");/ /文件名
如果= GetBitmapLoadingName(hWnd, szFileName,运算符(szFileName)))
打破;
L_UCHAR szCommentWritten [] =“LEADTOOLS教程”;
如果(L_SetComment (CMNT_SZSOFTWARE szCommentWritten,运算符szCommentWritten) < 0)
{
对话框(hWnd,文本(“错误设置评论”),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
如果= L_WriteFileComment(szFileName, NULL))
{
对话框(hWnd,文本("向文件写入注释错误"),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
L_UCHAR szCommentRead [100] ="";
如果(L_ReadFileComment (szFileName CMNT_SZSOFTWARE szCommentRead,运算符< 0)
{
对话框(hWnd,文本("从文件读取注释错误"),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
MessageBoxA (hWnd, szCommentRead (LPCSTR),“评论文本”, MB_ICONINFORMATION);//使用ANSI消息框函数。
}
打破;
//保持代码的其余部分不变
的代码GetBitmapLoadingName ()
函数在上面的代码中调用,它列在加载,显示和保存图像教程。
使用解决方案资源管理器,导航回资源文件(.rc)。
添加一个新的Tiff标签的菜单项文件下拉菜单,之间开放而且保存物品。保留新菜单项的ID为ID_FILE_TIFFTAG
.
去指向
功能和开关(wmId)
语句的下面WM_COMMAND
Case,添加一个新Case和下面的代码。
开关(wmId)
{
情况下ID_FILE_TIFFTAG:
{
char szFileName[260] = TEXT("");/ /文件名
如果= GetBitmapLoadingName(hWnd, szFileName,运算符(szFileName)))
打破;
//该代码从TIFF图像中读取Xresolution,修改值,并将其写回去。
常量无符号uXResTagID = 282;
L_UINT16 uType;
L_UINT uCount;
L_INT nBytes = L_ReadFileTag(szFileName, uXResTagID, &uType, &uCount, NULL, NULL);
如果((uType != TAG_RATIONAL) || (nBytes != 8))
{
对话框(hWnd,文本(“标签类型或大小不正确”),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
L_UINT32 xResFraction [2];
L_ReadFileTag(szFileName, uXResTagID, &uType, &uCount, xResFraction, NULL);
xResFraction[0] = xResFraction[0] * 5;//修改XResolution分子
// xResFraction[1]是XResolution分母。保持不变
如果(SUCCESS != L_SetTag(uXResTagID, TAG_RATIONAL, 1, xResFraction))
{
对话框(hWnd,文本(“错误设置标签”),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
如果= L_WriteFileTag(szFileName, NULL))
{
对话框(hWnd,文本(“错误写标签”),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
对话框(hWnd,文本("通过标记修改文件XResolution "),文本(“LEADTOOLS教程”), MB_ICONINFORMATION);
}
打破;
//保持代码的其余部分不变
通过按运行项目F5,或选择Debug ->开始调试.
如果正确地执行了步骤,应用程序就会运行,并为用户提供执行以下命令的能力:
本教程演示如何使用L_SetComment
,L_WriteFileComment
,L_ReadFileComment
,L_ReadFileTag
,L_SetTag
而且L_WriteFileTag
功能。