本教程展示了如何创建一个c# Windows控制台应用程序,它使用LEADTOOLS SDK容器加载和保存注释,以及从一个TIFF图像分割一个注释容器。
概述 | |
---|---|
总结 | 本教程介绍了如何加载、保存和分裂一个注释容器在c#控制台应用程序。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(473 KB) |
平台 | c# Windows控制台应用程序 |
IDE | Visual Studio 2017中,2019年 |
开发许可 | 下载LEADTOOLS |
在工作之前加载、保存和分裂注释- c#控制台教程中,熟悉的基本步骤,创建一个项目通过审查添加引用和设置一个许可证教程。
在Visual Studio中,创建一个新的Windows控制台c#项目,添加以下必要LEADTOOLS引用。
的引用需要取决于项目的目的。引用可以通过添加一个或另一个下面的两种方法(但不是全部)。对于这个项目,还需要以下引用:
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Annotations.WinForms
如果使用本地DLL的引用,下面的DLL是必要的。dll位于< INSTALL_DIR > \ LEADTOOLS21 \ Bin \ Dotnet4 \ x64
:
Leadtools.dll
Leadtools.Annotations.Engine.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Fax
Leadtools.Codecs.Tif
对于一个完整的列表的编解码器dll需要特定的格式,请参考文件格式的支持。
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。细节包括教程不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
有关如何正确添加LEADTOOLS NuGet和本地引用,参考添加引用和设置一个许可证教程。
与项目创建、添加引用,许可,可以开始编码。
在解决方案资源管理器,打开Program.cs
。添加一个新方法LoadTifAnnotationsExample ()
然后在调用它主要
方法。
添加以下语句的使用
块的顶部Program.cs
:
/ /使用块
使用系统;
使用Leadtools;
使用Leadtools.Codecs;
使用Leadtools.Annotations.Engine;
添加以下代码加载TIFF文件的注释。
/ /添加这个全局变量
静态AnnContainer AnnContainer;
静态无效LoadTifAnnotationsExample ()
{
/ /加载TIFF文件的注释
AnnCodecs AnnCodecs =新AnnCodecs ();
annContainer = annCodecs.Load (@“TestFileTifAnnotations.tif”1);
/ /打印出容器中的对象显示加载它们
Console.WriteLine (气管无名动脉瘘管的“注释加载:从测试文件已经包含注释:\ n”);
foreach(varannObject在annContainer.Children)
{
Console.WriteLine ($注释:{annObject}”);
}
Console.WriteLine (“\ n”);
}
在Program.cs
添加一个新方法SaveTifAnnotationsExample
和内部调用这个方法主要
法,在LoadTifAnnotationsExample ()
。添加以下代码在新方法保存注释一个新的TIFF文件。
静态无效SaveTifAnnotationsExample ()
{
使用(RasterCodecs RasterCodecs =新RasterCodecs ())
{
AnnCodecs AnnCodecs =新AnnCodecs ();
RasterTagMetadata标签= annCodecs.SaveToTag (annContainer,假);
rasterCodecs.WriteTag (@“SaveAnnotationsToTif.tif”1、标签);
/ /现在从我们刚刚保存的TIFF文件加载的注释,以确保他们正确保存
AnnContainer savedTifContainer = annCodecs.Load (@“SaveAnnotationsToTif.tif”1);
/ /打印出容器中的对象显示加载它们
Console.WriteLine (“注释加载:从TIFF文件保存注释:\ n”);
foreach(varannObject在savedTifContainer.Children)
{
Console.WriteLine ($注释:{annObject}”);
}
Console.WriteLine (“\ n”);
}
}
在Program.cs
添加一个新方法SplitContainerToTifAndXmlExample
和调用这个方法主要
法,在SaveTifAnnotationsExample ()
。将以下代码添加注释容器的TIFF图像并将其保存到一个单独的XML文件。
静态无效SplitContainerToTifAndXmlExample ()
{
/ /保存所有矩形容器XML注释
AnnCodecs AnnCodecs =新AnnCodecs ();
AnnContainer xmlContainer = annContainer.Clone ();
为(int我= 0;我< xmlContainer.Children.Count;我+ +)
{
如果(xmlContainer.Children[我]。Id ! = AnnObject.RectangleObjectId)
{
xmlContainer.Children.Remove (xmlContainer.Children[我]);
我,;
}
}
annCodecs.Save (@“RectangleAnnotationsXml.xml”、xmlContainer AnnFormat。注释1);
/ /加载注释从XML文件我们就保存,以确保他们正确保存
AnnContainer rectangleXmlContainer = annCodecs.Load (@“RectangleAnnotationsXml.xml”1);
/ /打印出容器中的对象显示加载它们
Console.WriteLine (“注释加载:从XML文件,我们只救了矩形注释:“);
foreach(varannObject在rectangleXmlContainer.Children)
{
Console.WriteLine ($注释:{annObject}”);
}
Console.WriteLine (”“);
/ /保存所有的注意注释TIFF的容器
AnnContainer tifContainer = annContainer.Clone ();
为(int我= 0;我< tifContainer.Children.Count;我+ +)
{
如果(tifContainer.Children[我]。Id ! = AnnObject.NoteObjectId)
{
tifContainer.Children.Remove (tifContainer.Children[我]);
我,;
}
}
使用(RasterCodecs RasterCodecs =新RasterCodecs ())
{
RasterTagMetadata标签= annCodecs.SaveToTag (tifContainer,假);
rasterCodecs.WriteTag (@“SaveJustNoteAnnotationsToTif.tif”1、标签);
}
/ /加载注释从XML文件我们就保存,以确保他们正确保存
AnnContainer noteTifContainer = annCodecs.Load (@“SaveJustNoteAnnotationsToTif.tif”1);
/ /打印出容器中的对象显示加载它们
Console.WriteLine (“注释加载:从TIFF文件,我们只保存注意注释:“);
foreach(varannObject在noteTifContainer.Children)
{
Console.WriteLine ($注释:{annObject}”);
}
Console.WriteLine (“\ n”);
}
按运行项目F5,或通过选择调试- >开始调试。
如果步骤正确,控制台出现并显示输出,如下截图所示:
本教程展示了如何添加必要的引用与自动注释和处理工作AnnCodecs
和AnnContainer
类。