本教程展示了如何使用LEADTOOLS SDK在c# Windows控制台应用程序中读取给定的图像文件,并检测适当的格式以及适当的文件扩展名。如果文件没有文件扩展名,或者从流中读取文件,这很有用。
概述 | |
---|---|
总结 | 本教程介绍如何使用RasterCodecs 类来检测c# Windows控制台应用程序中的文件格式和文件扩展名。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(3kb) |
平台 | Windows控制台c#应用程序 |
IDE | Visual Studio 2017, 2019 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前检测图像格式和扩展-控制台c#教程。
中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Formats.Raster.Common
如果使用本地DLL引用,则需要以下DLL。
dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64
:
Leadtools.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Cmp.dll
Leadtools.Codecs.Tif.dll
您需要为您期望使用的每种文件类型提供单独的文件编解码器。当检测到文件格式时,工具包以特定顺序加载编解码器。首先加载以下内容:
Leadtools.Codecs.Bmp.dll
Leadtools.Codecs.Cmp.dll
Leadtools.Codecs.Fax.dll
Leadtools.Codecs.Png.dll
Leadtools.Codecs.Tif.dll
请注意
单个文件编解码器不必直接添加到项目中。它们可以简单地驻留在构建文件夹中,并在运行时被调用。有关加载特定文件编解码器的更多信息,包括预加载和忽略编解码器,请参阅加载文件编解码器.
有关应用程序需要哪些DLL文件的完整列表,请参阅在你的申请中包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可添加引用和设置License教程。
随着项目的创建、引用的添加和许可的设置,编码就可以开始了。
在解决方案资源管理器,打开Program.cs
.将以下语句添加到顶部的using块中Program.cs
:
使用系统;
使用先;
使用Leadtools;
使用Leadtools.Codecs;
将下面的代码添加到Main ()
方法从给定文件加载图像并指定文件扩展名。为了本教程的目的,使用了以下文件路径中的TIFF图像:C: \ LEADTOOLS22 \ \ \ ocr1.tif图像资源
静态无效主要(字符串[]参数)
{
试一试
{
字符串_inputFile =@“C: \ LEADTOOLS22 \资源\ \ ocr1.tif图像”;
SetLicense ();
//在不完全加载文件的情况下检索文件信息
使用(RasterCodecs _codecs =新RasterCodecs ())
使用(CodecsImageInfo _info = _codecs。GetInformation (_inputFile假))
{
//获取正确的RasterImageFormat和友好的名称
RasterImageFormat格式= _info.Format;
字符串extension = RasterCodecs.GetExtension(format);
控制台。WriteLine ($"此文件具有扩展名{extension}");
}
}
抓(异常交货)
{
Console.WriteLine (ex.Message);
Console.WriteLine (ex.StackTrace);
Console.ReadLine ();
}
控制台。WriteLine (“按任意键退出…”);
控制台。ReadKey (真正的);
}
要处理这个问题MemoryStream
类中包装的代码使用
的声明Main ()
方法。
使用(RasterCodecs _codecs =新RasterCodecs ())
{
字节[] data = File.ReadAllBytes(_inputFile);
使用(MemoryStream ms =新MemoryStream(数据)
使用(CodecsImageInfo _info = _codecs。GetInformation(女士,假))
{
//获取正确的RasterImageFormat和友好的名称
RasterImageFormat格式= _info.Format;
字符串extension = RasterCodecs.GetExtension(format);
控制台。WriteLine ($"此文件具有扩展名{extension}");
}
}
按下运行项目F5,或选择Debug ->开始调试.
如果正确地执行了这些步骤,应用程序将运行并收集映像文件格式和扩展名,并将其显示到控制台。
方法收集图像文件格式和扩展名CodecsImageInfo
类和GetExtension ()
方法。我们还介绍了如何使用RasterCodecs
类。