无法保存和重新创建 Aspose jpeg 图像 to/from 流

Can't Save and reCreate Aspose jpeg image to/from stream

希望这只是我遗漏的一些细节...

我正在为将 JPG 粘贴到新 PDF 文档中的转换器创建单元测试。新文档和 Jpeg 都保存到内存流中,然后两个流都传入。PDF 文档工作正常,但 Jpeg 将保存到流中,然后我无法从中创建新的 JpegImage。代码够简单了...

        converter = new Converters.JpegToPdfConverter();

        jpegConverterSourceStream = new MemoryStream();
        sourceStream = new MemoryStream();
        destinationStream = new MemoryStream();

        var document = new Document();
        var page = document.Pages.Add();
        page.PageInfo = testPageInfo;

        document.Save(destinationStream);

        var img = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(imageWidth, imageHeight);

        img.Save(jpegConverterSourceStream, ImageOptions);

        jpegConverterSourceStream.CopyTo(sourceStream);

        JpegImage img2 = new JpegImage(sourceStream);

//最后一行失败并显示

ImageLoadException:无法打开图像。目前可能不支持图片文件格式。

没有任何意义...我只是保存了完全相同的 class。在转换 to/from 内存流时发生了什么有趣的事情吗?

小问题 - 您需要在从中复制之前重置流的位置 -

jpegConverterSourceStream.Position = 0;
jpegConverterSourceStream.CopyTo(sourceStream);