Как сохранить 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);
То же самое с сохранением.