Lecture du format de fichier PSD

Je me demande si cela est même possible. J'ai une application qui ajoute un menu contextuel lorsque vous cliquez droit sur un fichier. Tout fonctionne bien Mais voici ce que je voudrais faire:

Si le fichier est un PSD, je veux que le programme extrait l'image. Est-ce possible de le faire sans avoir installé Photoshop?

Fondamentalement, je veux que l'utilisateur fasse un clic droit et clique sur "image" qui permettrait d'économiser un .jpg du fichier pour eux.

Edit: utilisera c# Merci

27
demandé sur Dirk Vollmar 2009-01-06 02:07:19

9 réponses

Eh bien, il y a un plugin PSD pour Paint.NET ce que je pense est Open-Source que vous voudrez peut-être jeter un oeil pour commencer:

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

17
répondu Dave Markle 2009-01-05 23:14:35

Les bibliothèquesImageMagick (qui fournissent des liaisonspour C#) prennent également en charge le format PSD. Ils pourraient être plus faciles à démarrer que d'entrer dans le Paint.NET code et aussi venir avec un tout à fait libre (BSD-like) licence.

Un échantillon simple (trouvé à http://midimick.com/magicknet/magickDoc.html) utiliser MagickNet ressemblerait à ceci:

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

Remarque: MagickNet a été déplacé vers http://www.codeproject.com/KB/dotnet/ImageMagick_in_VBNET.aspx

20
répondu Dirk Vollmar 2009-05-08 17:43:53

Ce gars le fait plus facilement:

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

Avec une bibliothèque C# et un exemple de projet.

J'ai essayé avec les fichiers PS2 et fonctionne bien.

4
répondu Franklin Albricias 2009-09-12 10:23:42

J'ai écrit un analyseur PSD qui extrait les couches de format raster de toutes les versions de PSD et PSB. http://www.telegraphics.com.au/svn/psdparse/trunk

4
répondu qu1j0t3 2009-11-21 07:18:17

Voici mon propre analyseur psd et exportateur: http://papirosnik.info/psdsplit / . Il permet d'analyser correctement psd avec la couleur RVB 8, 16 et 32 bits pour le canal, traiter les masques utilisateur, exporter les couches sélectionnées en jpeg, png, jng, bmp, tiff; créer la mise en page xml des couches et des groupes exportés et également créer un atlas de texture et des animations définies à partir de couches données. Il est entièrement écrit en C#. Si vous voulez que ses sources m'informent via le lien de support sur le dialogue À propos de l'application.

2
répondu papirosnik 2012-08-24 20:32:10

FastStone le fait assez efficacement. Ils n'ont pas leurs bibliothèques disponibles, mais je suppose que vous pouvez les contacter et voir s'ils peuvent aider.

Consultez leur site web: http://www.faststone.org/download.htm

1
répondu Lazer 2009-09-12 10:07:55

ImageMagick.NET - http://imagemagick.codeplex.com / - est la version ultérieure du lien 0xa3 a donné, avec une syntaxe légèrement différente. (Note, Ceci n'est pas testé):

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
répondu Orwellophile 2011-12-29 07:26:36

J'ai l'extraction du psd qui fonctionne. voir ma réponse ici

Comment extraire des calques d'un fichier Photoshop? C #

Peut aider quelqu'un d'autre.

0
répondu Adam Mac 2017-05-23 11:33:13

J'ai eu beaucoup de succès avec le composant D'imagerie D'Aspose qui peut charger et enregistrer des fichiers PSD sans Photoshop: https://products.aspose.com/imaging/net

0
répondu Adam 2018-05-18 09:37:31