本教程展示了如何加载和保存图像文件在c#。net 6控制台应用程序使用RasterCodecs和RasterImage类。
| 概述 | |
|---|---|
| 总结 | 本教程介绍了如何加载和保存图像文件使用RasterCodecs和RasterImage在c#。net 6控制台应用程序。 |
| 完成时间 | 15分钟 |
| Visual Studio项目 | 下载教程项目(1 KB) |
| 平台 | c# . net 6控制台应用程序 |
| IDE | Visual Studio 2022 |
| 运行时目标 | net 6或更高 |
| 开发许可 | 下载LEADTOOLS |
| 试试用另一种语言 |
|
熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前加载和保存图像- net 6教程。
开始一份项目中创建以下两个主题之一,根据平台:
如果你没有这个项目,按照相关教程中的步骤创建它。
本教程需要以下NuGet包:
Leadtools.Formats.Raster.Common对于一个完整的列表的编解码器dll需要特定的格式,请参考文件格式的支持。
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
与项目创建、添加引用,许可,可以开始编码。
在解决方案资源管理器,打开Program.cs和下面的语句使用块的顶部Program.cs:
/ /使用块使用系统;使用先;使用Leadtools;使用Leadtools.Codecs;
程序中的类添加一个新方法LoadImage(字符串文件名),叫它主要方法后SetLicense方法。本教程使用以下测试图像C: \ LEADTOOLS22 \ \ \ image1.cmp图像资源
静态无效主要(字符串[]参数){如果(! SetLicense ()){Console.WriteLine (“错误设置许可证”);返回;}RasterImage图像LoadImage = (@“C: \ LEADTOOLS22 \资源\ \ image1.cmp图像”);}
添加以下代码来加载图像。的使用声明是推荐的,因为RasterCodecs类实现IDisposable,导致适当的处置使用语句。
静态RasterImage LoadImage (字符串文件名){使用(RasterCodecs编解码器=新RasterCodecs ()){/ /如果想从内存加载/ / byte[]字节= File.ReadAllBytes(文件名);/ /使用(MemoryStream ms = new MemoryStream(字节)/ / {/ / ms.Position = 0;/ /返回codecs.Load(女士);/ /}返回codecs.Load(文件名);}}
请注意
LEADTOOLS支持从内存加载流。上面的注释掉的代码显示了一种流加载到一个RasterImage对象。
程序中的类,添加一个新方法SaveImage (RasterImage形象,字符串outputFilename),叫它主要方法后LoadImage方法。
静态无效主要(字符串[]参数){如果(! SetLicense ()){Console.WriteLine (“错误设置许可证”);返回;}RasterImage图像LoadImage = (@“C: \ LEADTOOLS22 \资源\ \ image1.cmp图像”);SaveImage(图片,@“C: \ LEADTOOLS22 \资源\ \ output.jpg图像”);Console.WriteLine (“按任意键退出……”);Console.ReadKey (真正的);}
添加以下代码来导出图像作为JPEG文件路径如下:C: \ LEADTOOLS22 \ \ \ output.jpg图像资源
静态无效SaveImage (RasterImage形象,字符串outputFilename){使用(RasterCodecs编解码器=新RasterCodecs ()){/ /如果想保存到内存中/ / MemoryStream = new MemoryStream女士();/ /编解码器。保存(RasterImageFormat形象,女士。Jpeg, 0);编解码器。保存(图像、outputFilename RasterImageFormat。Jpeg, 0);}}
请注意
LEADTOOLS还支持保存到内存流。上面的注释掉的代码展示了如何从RasterImage对象保存到一个流。
按运行项目F5,或通过选择调试- >开始调试。
如果正确步骤之后,应用程序运行并创建一个新文件的输出保存调用中指定的位置。
本教程演示了如何使用RasterCodecs和RasterImage在. net类加载和保存图像6控制台应用程序。