无法保存和重新创建 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);
希望这只是我遗漏的一些细节...
我正在为将 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);