本教程展示如何使用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版本),并确保添加了以下行。
#定义LTV22_CONFIG
# include“C: \ LEADTOOLS22 \ \ L_Bitmap.h包括”//使用实际安装LEADTOOLS的路径
#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltkrn_x.lib”)
#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltfil_x.lib”)//文件加载和保存
#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ 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:
{
TCHAR szFileName[260] = TEXT("");//文件名称
如果= GetBitmapLoadingName(hWnd, szFileName, ARRAYSIZE(szFileName)))
打破;
L_UCHAR szCommentWritten[] =“LEADTOOLS教程”;
如果(L_SetComment (CMNT_SZSOFTWARE szCommentWritten,运算符< 0)
{
对话框(hWnd,文本(“设置注释错误”),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
如果(SUCCESS != L_WriteFileComment(szFileName, NULL))
{
对话框(hWnd,文本("向文件写入注释错误"),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
L_UCHAR szCommentRead[100] ="";
如果(L_ReadFileComment(szFileName, CMNT_SZSOFTWARE, szCommentRead,运算符szCommentRead, NULL) < 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:
{
TCHAR szFileName[260] = TEXT("");//文件名称
如果= GetBitmapLoadingName(hWnd, szFileName, ARRAYSIZE(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分子
[1]是XResolution分母。保持不变
如果(SUCCESS != L_SetTag(uXResTagID, TAG_RATIONAL, 1, xResFraction))
{
对话框(hWnd,文本(“错误设置标签”),文本(“LEADTOOLS教程”), MB_ICONERROR);
打破;
}
如果(SUCCESS != 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
功能。