Frage

Ich frage mich, ob dies überhaupt möglich ist. Ich habe eine Anwendung, die ein Kontextmenü hinzufügt, wenn Sie mit der rechten Maustaste auf eine Datei klicken. Es funktioniert alles gut, aber hier ist, was ich gerne tun würde:

Wenn die Datei eine PSD ist, möchte ich, dass das Programm das Bild extrahiert. Ist dies möglich, ohne Photoshop installiert zu haben?

Grundsätzlich möchte ich, dass der Benutzer mit der rechten Maustaste auf "Bild" klickt und ein .JPG der Datei für sie speichert.

Bearbeiten: Wird C# danke verwenden

War es hilfreich?

Lösung

Nun, es gibt ein PSD-Plugin für Paint.net, das ich für Open-Source denke, das Sie sich möglicherweise für den Anfang ansehen möchten:

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

Andere Tipps

Das Imagemagick Bibliotheken (die liefern Bindungen für C#) Unterstützen Sie auch das PSD -Format. Es ist möglicherweise leichter zu beginnen als in den Code von Paint.net zu gehen und mit einer ziemlich kostenlosen (BSD-ähnlichen) Lizenz zu gelangen.

Eine einfache Probe (gefunden bei http://midimick.com/magicknet/magickdoc.html) Die Verwendung von Magicknet würde so 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 hat sich aufgezogen http://www.codeprroject.com/kb/dotnet/imagemagick_in_vbnet.aspx

Dieser Typ macht es einfacher:

http://www.codeprroject.com/kb/graphics/simplepsd.aspx

Mit einer C# -Bibliothek und einem Beispielprojekt.

Ich habe es mit PS2 -Dateien ausprobiert und funktioniert in Ordnung.

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

Hier ist mein eigener PSD -Parser und Exporteur:http://papirosnik.info/psdsplit/. Es ermöglicht die korrekte Analyse von PSD mit RGB Color 8, 16- und 32-Bit für Kanal, Prozessmasken, ausgewählte Ebenen in JPEG, PNG, JNG, BMP, TIFF; Erstellen Sie das XML -Layout von exportierten Ebenen und Gruppen und erstellen Sie auch einen Texturatlas und Animationen, die von bestimmten Ebenen festgelegt werden. Es ist vollständig in C#geschrieben. Wenn Sie möchten, dass die Quellen mich über den Support -Link zum Dialog in der Anwendung informieren.

Faststone macht das ziemlich effizient. Sie haben keine Bibliotheken verfügbar, aber ich denke, Sie können sie kontaktieren und sehen, ob sie helfen können.

Schauen Sie sich ihre Website an: http://www.faststone.org/download.htm

Imagemagick.net - http://imagemagick.codeplex.com/ - Ist die spätere Version des Link 0xa3 angegeben, mit einer etwas anderen Syntax. (Beachten Sie, dass dies ungetestet ist):

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

Ich habe Extraktion von PSD gearbeitet. Siehe meine Antwort hier

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

kann jemand anderem helfen.

Sie können verwenden GroupDocs.Viewer für .net API zum Rendern Ihrer PSD -Dateien als Bilder (JPG, PNG, BMP) in Ihrer Anwendung mit einigen Codezeilen.

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 Beispiele für Beispiele finden Sie unter hier. Offenlegung: Ich arbeite als Entwickler Evangelist bei GroupDocs.

Ich habe große Erfolge mit ASOSPSISIONS -Komponente hatte, mit der PSD -Dateien ohne Photoshop geladen und speichern können: https://products.asips.com/imaging/net

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top