it-swarm.com.de

PSD-Dateiformat lesen

Ich frage mich, ob das überhaupt möglich ist. Ich habe eine Anwendung, die ein Kontextmenü hinzufügt, wenn Sie mit der rechten Maustaste auf eine Datei klicken. Alles funktioniert gut, aber ich möchte Folgendes tun:

Wenn es sich bei der Datei um eine PSD handelt, möchte ich, dass das Programm das Bild extrahiert. Ist dies ohne Photoshop möglich?

Grundsätzlich möchte ich, dass der Benutzer mit der rechten Maustaste klickt und auf "Bild" klickt, wodurch ein JPG-Bild der Datei gespeichert wird.

edit: wird c # verwenden Danke

28
masfenix

Nun, es gibt ein PSD-Plugin für Paint.NET, von dem ich denke, dass es Open-Source ist.

http://frankblumenberg.de/doku/doku.php?id=paintnet:psdplugin#download

18
Dave Markle

Die ImageMagick - Bibliotheken (die Bindings für C # bereitstellen) unterstützen auch das PSD-Format. Sie sind möglicherweise einfacher zu starten als in den Paint.NET-Code einzusteigen und werden außerdem mit einer kostenlosen (BSD-ähnlichen) Lizenz ausgeliefert.

Ein einfaches Beispiel (zu finden unter http://midimick.com/magicknet/magickDoc.html) mit MagickNet würde folgendermaßen aussehen:

using System;

static void Main(string[] args)
{
    MagickNet.Magick.Init();
    MagicNet.Image img = new MagicNet.Image("file.psd");
    img.Resize(System.Drawing.Size(100,100));
    img.Write("newFile.png");
    MagickNet.Magick.Term();
}

Hinweis: MagickNet ist umgezogen nach http://www.codeproject.com/KB/dotnet/ImageMagick_in_VBNET.aspx

20
Dirk Vollmar

Dieser Kerl macht es einfacher:

http://www.codeproject.com/KB/graphics/simplepsd.aspx

Mit einer C # -Bibliothek und einem Beispielprojekt.

Ich habe es mit PS2-Dateien probiert und funktioniert ok.

4

Ich habe einen PSD-Parser geschrieben, der Rasterformat-Layer aus allen Versionen von PSD und PSB extrahiert. http://www.telegraphics.com.au/svn/psdparse/trunk

4
qu1j0t3

Hier ist mein eigener Psd-Parser und -Exporter: http://papirosnik.info/psdsplit/ . Es ermöglicht das korrekte Parsen von psd mit RGB-Farbe 8, 16 und 32-Bit für Kanal, Prozessbenutzermasken, Exportieren ausgewählter Layer in JPEG, PNG, JPG, BMP, TIFF; Erstellen Sie ein XML-Layout für exportierte Layer und Gruppen und erstellen Sie einen Texturatlas und Animationen aus den angegebenen Layern. Es ist vollständig in C # geschrieben. Wenn Sie möchten, dass die Quellen über den Support-Link im Dialogfeld "Info" in der Anwendung informiert werden.

2
papirosnik

Mit der API GroupDocs.Viewer for .NET können Sie Ihre PSD-Dateien mit wenigen Codezeilen als Bilder (JPG, PNG, BMP) in Ihrer Anwendung rendern.

C #

ViewerConfig config = new ViewerConfig();
config.StoragePath = "D:\\storage\\";

// Create handler
ViewerImageHandler imageHandler = new ViewerImageHandler(config);

// Guid implies that unique document name 
string guid = "sample.psd";

// Get document pages as images
List<PageImage> pages = imageHandler.GetPages(guid);

foreach (PageImage page in pages)
{
    // Access each image using page.Stream
}

Weitere Details und Beispielcode finden Sie unter hier . Offenlegung: Ich arbeite als Developer Evangelist bei GroupDocs.

1
Usman Aziz

Ich habe Extraktion von PSD bekommen. Sehen Sie meine Antwort hier

Wie extrahiere ich Ebenen aus einer Photoshop-Datei? C #

kann jemand anderem helfen.

1
Adam Mac

FastStone macht dies ziemlich effizient. Ihre Bibliotheken sind nicht verfügbar, aber ich denke, Sie können sich mit ihnen in Verbindung setzen und sehen, ob sie helfen können.

Überprüfen Sie die Website: http://www.faststone.org/download.htm

1
Lazer

ImageMagick.NET - http://imagemagick.codeplex.com/ - ist die neuere Version des Links, die 0xA3 gegeben hat, mit etwas anderer Syntax. (Beachten Sie, dass dies nicht getestet wurde):

using ImageMagickNET;

public void Test() {
        MagickNet.InitializeMagick();
        ImageMagickNET.Image img = new ImageMagickNET.Image("file.psd");
        img.Resize(new Geometry(100, 100, 0, 0, false, false);
        img.Write("newFile.png");
}
1
Orwellophile

Ich hatte großen Erfolg mit der Imaging-Komponente von Aspose, die PSD-Dateien ohne Photoshop laden und speichern kann: https://products.aspose.com/imaging/net

0
Adam