web-dev-qa-db-ja.com

PSDファイル形式の読み取り

これも可能かしら。ファイルを右クリックするとコンテキストメニューを追加するアプリケーションがあります。それはすべてうまくいきますが、これが私がやりたいことです:

ファイルがPSDの場合、プログラムで画像を抽出する必要があります。 Photoshopをインストールせずにこれを行うことは可能ですか?

基本的に、ユーザーが右クリックして「画像」をクリックすると、ファイルの.jpgが保存されます。

編集:c#を使用しますありがとう

28
masfenix

さて、Paint.NET用のPSDプラグインがあります。これはオープンソースだと思います。初心者向けに見てみたいと思うかもしれません。

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

18
Dave Markle

ImageMagick ライブラリ( C#のバインディング を提供)もPSD形式をサポートしています。 Paint.NETコードを始めるよりも簡単に始めることができ、完全に無料の(BSDのような)ライセンスも付属しています。

MagickNetを使用した簡単なサンプル( http://midimick.com/magicknet/magickDoc.html) は次のようになります。

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

注:MagickNetは http://www.codeproject.com/KB/dotnet/ImageMagick_in_VBNET.aspx に移動しました

20
Dirk Vollmar

この男はそれを簡単にします:

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

C#ライブラリとサンプルプロジェクトを使用。

PS2ファイルで試してみましたが、問題なく動作します。

4

PSDとPSBのすべてのバージョンからラスター形式のレイヤーを抽出するPSDパーサーを作成しました。 http://www.telegraphics.com.au/svn/psdparse/trunk

4
qu1j0t3

これが私自身のpsdパーサーとエクスポーターです: http://papirosnik.info/psdsplit/ 。これにより、チャネルのrgbカラー8、16、および32ビットでpsdを正しく解析し、ユーザーマスクを処理し、選択したレイヤーをjpeg、png、jng、bmp、tiffにエクスポートできます。エクスポートされたレイヤーとグループのxmlレイアウトを作成し、指定されたレイヤーからテクスチャアトラスとアニメーションセットを作成します。完全にC#で書かれています。ソースが必要な場合は、アプリケーションの[バージョン情報]ダイアログのサポートリンクからお知らせください。

2
papirosnik

GroupDocs.Viewer for .NET APIを使用すると、数行のコードを使用して、アプリケーションでPSDファイルを画像(JPG、PNG、BMP)としてレンダリングできます。

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
}

詳細とサンプルコードについては、 ここ をご覧ください。 開示:私はGroupDocsで開発者エバンジェリストとして働いています。

1
Usman Aziz

Psdから抽出しました。ここで私の答えを参照してください

Photoshopファイルからレイヤーを抽出する方法は?C#

他の誰かを助けるかもしれません。

1
Adam Mac

FastStoneはこれをかなり効率的に行います。彼らは利用可能な彼らの図書館を持っていません、しかし私はあなたが彼らに連絡して彼らが助けることができるかどうか見ることができると思います。

彼らのウェブサイトをチェックしてください: http://www.faststone.org/download.htm

1
Lazer

ImageMagick.NET - http://imagemagick.codeplex.com/ -は、0xA3が提供したリンクの新しいバージョンであり、構文が少し異なります。 (注、これはテストされていません):

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

PhotoshopなしでPSDファイルをロードおよび保存できるAsposeのイメージングコンポーネントで大成功を収めました: https://products.aspose.com/imaging/net

0
Adam