如何使用PSD-plugin为Paint.NET保存png中的psd图层?

时间:2012-01-07 21:16:07

标签: c# .net photoshop psd paint.net

如何使用PSD-plugin为Paint.NET保存png中的psd图层?

尝试这样做:

System.Drawing.Image img;
var stream = new System.IO.MemoryStream();
var BRW = new PhotoshopFile.BinaryReverseWriter(stream);
var psd = new PhotoshopFile.PsdFile();
psd.Load("c:\\1.psd");
psd.Layers[0].Save(BRW);
stream.Seek(0, System.IO.SeekOrigin.Begin);
img = System.Drawing.Image.FromStream(stream, true, true);
img.Save("c:\\1.png", System.Drawing.Imaging.ImageFormat.Png);

但行 img = Image.FromStream(stream,true,true); 抛出“参数无效”异常。

通过C#/ C ++的任何其他解决方案也是可以接受的。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您是否考虑过询问PSD插件的作者?顺便说一下,Paint.NET没有被许可用作SDK,只能作为应用程序使用。

答案 1 :(得分:0)

第一个解决方案不再适用于最新版本,请改用:

var psd = new PhotoshopFile.PsdFile("YourPhotoshop Path as string", Encoding.ASCII);

// or

var psd = new PhotoshopFile.PsdFile("Your Photoshop File Path as string", Encoding.Default);

与保存相同。