Free Support Forum - aspose.com

Aspose.PSD For NET 导出图像


尝试了几个,导出都不理想,您能帮我吗
我用的代码如下

   string file = openFileDialog1.FileName;
            using (PsdImage image = (PsdImage)Image.Load(file))
            {
                Console.WriteLine(image.Layers.Length);
               image.FlattenImage();
                PngOptions png = new PngOptions();
                png.ColorType = PngColorType.TruecolorWithAlpha;
                image.Save(file + ".png", png);
                Console.WriteLine("success");
            }

@icejd,

您能否在使用API时分享您面临的问题的详细信息。 请分享您尝试使用Aspose.PSD实现的失败。

没有失败,就是导出的图像完全不能观看

Photoshop中预览是下面这样的
image.jpg (337.7 KB)
我导出是下面这样的
image.jpg (380.0 KB)

@icejd,

我已经比较了PSD和genreted PNG视图。 并非所有图层都以PSD格式导出。 请问是否能引起此问题

@icejd,

作为一种快速的解决方法,可以使用“ ReadOnlyMode”

 string file = openFileDialog1.FileName;
            using (PsdImage image = (PsdImage)Image.Load(file **, new PsdLoadOptions() {ReadOnlyMode = true}** ))
            {
                Console.WriteLine(image.Layers.Length);
               image.FlattenImage();
                PngOptions png = new PngOptions();
                png.ColorType = PngColorType.TruecolorWithAlpha;
                image.Save(file + ".png", png);
                Console.WriteLine("success");
            }

非常感谢,完美解决我的问题

@icejd,

大。 很高兴知道您现在一切都好。

还要麻烦您一下


这个PSD文件,导出的图像依然无法观看
image.jpg (453.7 KB)
代码如下
string file = openFileDialog1.FileName;
using (PsdImage image = (PsdImage)Image.Load(file , new PsdLoadOptions() {ReadOnlyMode = true} ))
{
Console.WriteLine(image.Layers.Length);
image.FlattenImage();
PngOptions png = new PngOptions();
png.ColorType = PngColorType.TruecolorWithAlpha;
image.Save(file + “.png”, png);
Console.WriteLine(“success”);
}

@icejd,

我无法理解该问题。 能否请您分享详细信息。

您能观看一下两个不同的文件吗??PSD和PNG,看了以后就明白我要描述的问题
将PSD转换成PNG后,少了图层和文字,或者被遮挡了,并不是一张完整的图片

@icejd,

共享问题PSDNET-676:“图层无法在生成的PNG中呈现”仍在进行中,尚未解决。 我们在后续线程中提出的建议暂时是为达到目的的解决方案。

了解了,多谢,我会耐心等待

@icejd,

谢谢您的考虑。