Free Support Forum - aspose.com

System.OutOfMemoryException”类型的未经处理的异常在 Aspose.PSD.dll 中发生

var newLayer = new Aspose.PSD.FileFormats.Psd.Layers.Layer(fs);

newLayer.DisplayName = “NewLayer”;

im.AddLayer(newLayer);

im.Save(@“D:\tong\MyProject\Psd\newPsd.psd”, true);

希望在现有psd上 追加一个layer 里面有一张5M左右的jpg 但一直会报 没有足够的内存继续执行程序
Aspose.PSD 版本为21.4.0

@izarel

您能否提供工作示例代码以及源PSD和Jpeg文件,我们可能会对此进行测试以进一步帮助您。

            var im = (PsdImage)Image.Load(@"D:\tong\MyProject\Psd\001-.psd");
            var imagePath = @"D:\tong\MyProject\Psd\T_0003.jpg ";
            FileStream fs = new FileStream(imagePath, FileMode.Open);

            using (im)
            {
                var newLayer = new Aspose.PSD.FileFormats.Psd.Layers.Layer(fs);
                newLayer.DisplayName = "NewLayer";

                im.AddLayer(newLayer);

                im.Save(@"D:\tong\MyProject\Psd\newPsd.psd", true);
            }

Psd.zip (6.7 MB)

@izarel

我在问题跟踪系统中创建了一个ID PSDNET-875的问题,以进一步调查和解决该问题。 该线程已与问题联系在一起,因此一旦问题解决,您可能会收到通知。

我们这边也碰到了,就纯load PsdImage源文件,尤其是超大文件的psd文件,非常吃内存及CPU,有没更好的解办法?试验测试下来,平均1个100多M的psd文件,内存资源占用达到1GB~2GB,同文件的photoShop加载,仅需最大不超过500M的内存资源消耗。

@jsczxielong

我也通过以下主题与您分享了我的反馈意见。 此线程与加载PSD文件时出现OutOfMemory异常有关。

请问该内存溢出的问题解决了吗?

@izarel

遗憾的是,由于我们已将问题添加到我们的问题跟踪系统中,因此目前该问题尚未解决。 我要求您耐心等待,我们将尽快与您分享好消息。