c# - 如何使用 iText7 从 C# 中的 MemoryStream 创建 Image 对象?

标签 c# asp.net asp.net-mvc itext7

我正在使用 ASP.NET-MVC v5.2 中的 iText7。我对 iText 和 C# 非常缺乏经验,我仍在试图弄清楚这个库中的类是如何工作的。

假设我有一个包含图像的 MemoryStream...

MemoryStream imgStream = new MemoryStream(imgLocation);

如何使用 imgStream 创建 Image 对象?我正在寻找类似的东西

Image img = new Image(imgStream);

感谢您的帮助:)

EDIT:我正在尝试从 iText 而不是 System.Drawing.Image

创建图像

最佳答案

要从位图图像创建 iText 7 Image 对象,您首先必须创建一个 ImageData 实例,然后您可以将其输入相应的 之一图片构造函数

public Image(ImageData img);
public Image(ImageData img, float left, float bottom);
public Image(ImageData img, float left, float bottom, float width);

您通常使用相应的 ImageDataFactory 静态方法创建一个 ImageData 实例:

public static ImageData Create(byte[] bytes);
public static ImageData Create(String filename);
public static ImageData Create(Uri url);

如您所见,流没有方法。但由于您的流是 MemoryStream,您可以轻松检索图像的 byte[]。因此,

byte[] imageBytes = imgStream.ToArray();
ImageData rawImage = ImageDataFactory.Create(imageBytes);
Image image = new Image(rawImage);

关于c# - 如何使用 iText7 从 C# 中的 MemoryStream 创建 Image 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59793245/

相关文章:

asp.net-mvc - MVC5 Html.RenderAction 与不同的 Controller

asp.net-mvc - 为什么 ASP.NET MVC 模板仅适用于 Web 应用程序项目?

C# WPF框架中的Page和MainWindow之间的数据交换

c# - 判断修改键是否被按下

asp.net:母版页继承不继承占位符吗?

c# - 逐步将 WebForm VB Web 应用程序转换为 MVC C#

c# - 使 scrollviewer 在 WPF 中不捕获左控制和右控制

C# 设置屏幕亮度 Windows 7

asp.net - 在 JavaScript 网站上使用 Glimpse

c# - Windows Server 2012 内存限制上的 IIS 工作进程