PSD-parser - JavaでPSDファイルを抽出するためのライブラリ

2009/04/21 00:09Update
TAGS: Java | Photoshop | PSD | parser | パーサー | イメージ | レイヤー | 画像 | 抽出 | Apache | PNG

PSD-parserというJavaで書かれたライブラリを見つかりました。結構便利なので、その使い方などをメモします。

機能・特徴


◇ Photoshop(PSDファイル)を解析するためのライブラリ
◇ ライセンス:APACHE

早速 psd_parser.7z をダウンロードして解凍、インポートでEclipseプロジェクトを作成します。

中にTestPSD.javaというファイルがあります、実行したところがエラーがありましたので、以下のように修正しなおしました。

TestPSD.java
public class TestPSD {

    public static void main(String[] args) throws IOException {

        PSDParser parser = new PSDParser(new FileInputStream(
                "C:\\tmp\\psd\\Home01.psd"));
        PSDLayerAndMask layerAndMask = parser.getLayerAndMask();

        List<PSDLayerStructure> layers = layerAndMask.getLayers();
        List<PSDLayerPixelData> images = layerAndMask.getImageLayers();
        int i = 0;
        for (PSDLayerStructure layer : layers) {
            PSDLayerPixelData pixelData = images.get(i);
            BufferedImage image = pixelData.getImage();
            if (image != null)
                ImageIO.write(image, "png", new File("C:\\tmp\\psd\\out01\\"
                        + getFileName(layer.getName().toString()) + ".png"));

            i++;
        }

    }
    
    public static String getFileName(String layerName){
        String ret = layerName.trim();
        
        ret = ret.replaceAll("\\Q|\\E", "");
        ret = ret.replaceAll(" ", "");
        return ret;
    }
}


■実行
1)Home01.psdをC:\tmp\psd\フォルダにコピーします。
C:\\tmp\\psd\\Home01.psd

2)C:\tmp\psd\out01\フォルダが存在していることを確認します。

3)TestPSDを実行します。すると、PSD layerにあるすべてのイメージはC:\tmp\psd\out01\に保存されました。

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation