本教程展示了如何使用LEADTOOLS SDK从c# . net Core应用程序的缓冲区中加载图像。
| 概述 | |
|---|---|
| 总结 | 本教程将介绍如何在c# . net核心控制台应用程序中从缓冲区加载图像。 |
| 完成时间 | 30分钟 |
| Visual Studio项目 | 下载教程项目(1kb) |
| 平台 | .NET核心控制台应用程序 |
| IDE | Visual Studio 2019, 2022 |
| 开发许可 | 下载LEADTOOLS |
| 用另一种语言试试 |
|
步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前从一个缓冲区加载图像- c# .NET核心教程。
中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过NuGet包添加。
本教程需要以下NuGet包:
Leadtools.Formats.Raster.Common有关应用程序需要哪些DLL文件的完整列表,请参阅你的申请中包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet引用和设置许可添加引用和设置License教程。
随着项目的创建、引用的添加和许可的设置,编码就可以开始了。
在解决方案资源管理器,打开Program.cs.将下列语句添加到使用块的顶部Program.cs.
使用系统;使用先;使用System.Runtime.InteropServices;使用Leadtools;使用Leadtools.Codecs;
下面的代码展示了从缓冲区加载图像的三种方法:
控件中添加一个新方法程序类,命名LoadImageBuffer ().方法中调用此方法Main ()方法,下面调用设置许可代码。将下面的代码添加到新方法中,以上述三种不同的方式从缓冲区加载图像。
不安全的静态无效LoadImageBuffer (){使用(RasterCodecs codecs =新RasterCodecs ()){字符串文件名=@“C: \ LEADTOOLS22 \资源\ \ image1.cmp图像”;字节[] buffer = File.ReadAllBytes(fileName);/ / 1。从字节数组缓冲区加载图像MemoryStream ms =新MemoryStream(缓冲);使用(RasterImage image = codecs.Load(ms))控制台。WriteLine ($“图像加载成功!”\nImage大小为{image。ImageWidth}由{image。ImageHeight} \ n”);//加载文件数据到非托管指针IntPtr ptr = Marshal.AllocHGlobal(buffer.Length);元帅。Copy(buffer, 0, ptr, buffer. length);/ / 2。使用非托管指针从内存中加载映像UnmanagedMemoryStream =新UnmanagedMemoryStream ((字节*) ptr.ToPointer (), buffer.Length);使用(图像= codecs.Load(unmanagedStream))控制台。WriteLine ($“图像加载成功!”\nImage大小为{image。ImageWidth}由{image。ImageHeight} \ n”);unmanagedStream.Dispose ();Marshal.FreeHGlobal (ptr);//从文本文件加载base-64编码的图像到字符串字符串b64String =文件。ReadAllText (@" base64字符串文件的路径");/ / 3。从Base64编码字符串加载图像如果(b64String ! =零){字节[] bytes = Convert.FromBase64String(b64String);使用(内存流b64ms =新MemoryStream(字节)使用(RasterImage image = codecs.Load(b64ms))控制台。WriteLine ($“图像加载成功!”\nImage大小为{image。ImageWidth}由{image。ImageHeight}”);}}}
请注意
为了能够编译此代码,请选择项目- - - >
属性 .导航到构建TAB并启用允许不安全的代码.
按下运行项目F5,或选择Debug ->开始调试.
如果正确地执行了这些步骤,将出现控制台,应用程序将从缓冲区加载指定的映像。应用程序还允许从Base64字符串加载图像的选项。
本教程展示了如何从缓冲区加载图像。此外,它还展示了如何使用RasterCodecs而且RasterImage类。