Как сохранить psd слои в png, используя PSD-плагин для Paint.NET?

Как сохранить psd слои в png, используя PSD-плагин для Paint.NET?

Попытка сделать это так:

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 ответа

Задумывались ли вы о том, чтобы спросить автора плагина PSD? Paint.NET не лицензируется для использования в качестве SDK, кстати, только в качестве приложения.

Первое решение больше не работает с последней версией, вместо этого используйте:

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);

То же самое с сохранением.

Другие вопросы по тегам