代码之家  ›  专栏  ›  技术社区  ›  Birtija

更改Syncfusion DocIo中图像(WPicture)的格式。NetCore公司

  •  3
  • Birtija  · 技术社区  · 7 年前

    我有一个。net core 2应用程序。我使用syncfusion,即用于处理word文档的docIO库。 我有一个word文档,我想将文档中所有图像的格式更改为。巴布亚新几内亚

    我发现WPicture对象在段落上迭代:

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

    如何更改WPicture对象的格式?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Vijay    7 年前

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

    下面的示例代码使用CoreCompat helper库更改图像格式:

       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;