在 Syncfusion DocIo .Net Core 中更改图像格式(S 图片)

Change format of image(WPicture) in Syncfusion DocIo .NetCore

我有一个 .net core 2 应用程序。我使用 syncfusion,用于处理 word 文档的 docIO 库。 我有一个 word 文档,我想将文档中所有图像的格式更改为 .png

我发现 WPicture 对象遍历段落:

 if (paragraphItem is WPicture)
 {
   var wpicture = paragraphItem as WPicture;
   var imageBytes = wpicture.ImageBytes;

 }

如何更改 WPicture 对象的格式?

Essential DocIO 没有直接 API 来更改图像格式。由于 System.Drawing 命名空间在 ASP.NET 核心平台中不可用,您需要使用任何一种替代图像处理库(如 MSDN 中所述)来更改图片的图像格式。

这里,下面的示例代码使用了 CoreCompat 帮助程序库来更改图像格式:

   WPicture picture = item as WPicture;
  //Load the DocIO WPicture image bytes into CoreCompat Image instance.
  Image image = Image.FromStream(new MemoryStream(picture.ImageBytes));
  //Check image format, if format is other than png then convert the image as png format.
  if (!image.RawFormat.Equals(ImageFormat.Png))
  {
      MemoryStream imageStream = new MemoryStream();
      image.Save(imageStream, ImageFormat.Png);
      //Load the png format image into DocIO WPicture instance.
      picture.LoadImage(imageStream);
      imageStream.Dispose();
   }
   //Resize the picture width and height.
   picture.Width = 400;
   picture.Height = 400;