Adobe社Photoshopのpsdファイルを表示する ~Delphiソースコード集
DelphiでAdobe社のPhotoshopのファイル(psd)を表示するアプリケーションを作成するには「GraphicEx」をダウンロードして使用すれば可能です。
「GraphicEx」のダウンロード
https://github.com/mike-lischke/GraphicEx
から[Code]→[Download ZIP]をクリックして「GraphicEx-master.zip」ファイルをダウンロードします。
ダウンロードしたら解凍します。

「GraphicEx」をDelphiで使用するための準備
Delphiを起動します。
[ツール]→[オプション]をクリックします。

[Delphi]→[ライブラリ]の
「ライブラリ パス」の[...]ボタンをクリックします。

「GraphicEx-master.zip」ファイルを解凍したフォルダをフルパスで入力し「追加」ボタンをクリックします。
[OK]ボタンをクリックして閉じ、[保存]ボタンを押して閉じます。

プロジェクトの新規作成
[ファイル]→[新規作成]→[Windows VCL アプリケーション -Delphi]をクリックします。
フォームにTButtonとTImageとTOpenDialogをドラッグ&ドロップします。

[ファイル]→[すべて保存]をクリックして、ユニットとプロジェクトファイルを保存します。
ソースコードの記述
「Button1」をダブルクリックしてソースコードを記述します。
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls; type TForm1 = class(TForm) Button1: TButton; Image1: TImage; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} Uses GraphicEx; procedure TForm1.Button1Click(Sender: TObject); var psd:TPSDGraphic; begin OpenDialog1.Filter:='Photoshop|*.psd'; if not OpenDialog1.Execute() then exit; psd:=TPSDGraphic.Create(); try psd.LoadFromFile(OpenDialog1.FileName); image1.Picture.Assign(psd); image1.Stretch:=True; Image1.Proportional:=True; //bitmapファイルとして保存できる //psd.SaveToFile('a.bmp'); //psd.Layers.Count でレイヤ数がわかる //psd.Layers[数字].Image で各レイヤの画像を扱える finally psd.Free; end; end; end.
実行するとエラーが表示されるので修正する
[実行]→[実行]をクリックすると以下の箇所でエラーになります。

以下の赤字の部分がエラーになっています。
uses
Windows, Classes, SysUtils, Graphics,
zLibEx, ZLibExApi; // general inflate/deflate and LZ77 compression support
以下に修正します。
uses
Windows, Classes, SysUtils, Graphics,
zLib;
実行する
[実行]→[実行]をクリックします。
「Button1」をクリックしてPhotoshopファイル(.psd)を選択します。
「GraphicEx-master.zip」を解凍したフォルダ内にテストファイルがあります。
フォルダ「GraphicEx-master\TestSuite original\PSD」
選択した.psdファイルがImage1に表示されます。
