本教程展示了如何创建一个c# Windows控制台应用程序,加载一个图像从一个缓冲区。
概述 | |
---|---|
总结 | 本教程介绍了如何装载图像从一个缓冲c# Windows控制台应用程序 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(3 KB) |
平台 | c# Windows控制台应用程序 |
IDE | Visual Studio 2017中,2019年 |
开发许可 | 下载LEADTOOLS |
试试用另一种语言 |
|
熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前加载图像从一个缓冲- c#控制台教程。
从项目中创建的副本添加引用和设置一个许可证教程。如果你没有这个项目,按照这个教程中的步骤创建它。
的引用需要取决于项目的目的。引用可以通过添加一个或另一个下面的两种方法(但不是全部)。对于这个项目,还需要以下引用:
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Formats.Raster.Common
如果使用本地DLL的引用,下面的DLL是必要的。dll位于< INSTALL_DIR > \ LEADTOOLS21 \ Bin \ Dotnet4 \ x64
:
Leadtools.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Cmp.dll
对于一个完整的列表的编解码器dll需要特定的格式,请参考文件格式的支持。
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
添加LEADTOOLS NuGet和本地引用设置许可中会详细介绍添加引用和设置一个许可证教程。
与项目创建、添加引用,许可,可以开始编码。
在解决方案资源管理器,打开Program.cs
。添加以下语句的使用
块顶部。
使用系统;
使用先;
使用Leadtools;
使用Leadtools.Codecs;
使用System.Runtime.InteropServices;
下面的代码显示了3从缓冲区加载图像的方法:
添加一个新方法LoadImageBuffer ()
然后在调用它Main ()
方法。添加以下代码来加载一个图像从一个缓冲区。
不安全的静态无效LoadImageBuffer ()
{
使用(RasterCodecs编解码器=新RasterCodecs ())
{
字符串文件名=@“C: \ LEADTOOLS21 \资源\ \ image1.cmp图像”;
字节[]缓冲= File.ReadAllBytes(文件名);
/ / 1。加载图像从一个字节数组缓冲区
MemoryStream女士=新MemoryStream(缓冲);
使用(RasterImage图像= codecs.Load(女士)
Console.WriteLine ($“图像加载成功!{\ nImage大小的形象。ImageWidth} {image.ImageHeight} \ n”);
/ /文件数据加载到一个非托管指针
IntPtr ptr = Marshal.AllocHGlobal (buffer.Length);
元帅。复制(缓冲区,0,ptr buffer.Length);
/ / 2。从内存加载图像使用非托管指针
UnmanagedMemoryStream unmanagedStream =新UnmanagedMemoryStream ((字节*)ptr.ToPointer (), buffer.Length);
使用(RasterImage图像= codecs.Load (unmanagedStream))
Console.WriteLine ($“图像加载成功!{\ nImage大小的形象。ImageWidth} {image.ImageHeight} \ n”);
unmanagedStream.Dispose ();
Marshal.FreeHGlobal (ptr);
/ / base - 64编码的图像从文本文件加载到字符串
字符串b64String = File.ReadAllText (@“C: \ LEADTOOLS21 \资源\ \ Load-Image-from-a-Buffer-base64-image.txt图像”);
/ / 3。加载图像从Base64编码的字符串
如果(b64String ! =零)
{
字节[]字节= Convert.FromBase64String (b64String);
使用(MemoryStream b64ms =新MemoryStream(字节)
使用(RasterImage图像= codecs.Load (b64ms))
Console.WriteLine ($“图像加载成功!{\ nImage大小的形象。ImageWidth} {image.ImageHeight}”);
}
}
}
请注意
为了能够编译这段代码,打开项目属性的
项目
菜单然后去构建
选项卡并启用允许不安全代码
选择。
按运行项目F5,或通过选择调试- >开始调试。
如果步骤正确之后,应用程序运行和负载上面支持的任何图像编解码器过滤器从缓冲区。应用程序还允许选择加载映像从Base64字符串。
本教程展示了如何装载图像从一个缓冲区。同时,它展示了如何使用RasterCodecs
和RasterImage
类。