本教程展示了如何使用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
类。