2016-03-23 18 views
1

私は、C#プロジェクトのpsdファイルからレイヤ情報を取得しようとしています。psdファイルのレイヤー関係やグループ情報を取得する方法は?

Paint.NetまたはMagickImageにPSD Pluginを使用することで、各レイヤの位置、サイズ、コンテンツ、およびいくつかの視覚的なプロパティを取得できます。

しかし、レイヤの関係を示すプロパティや関数は見つかりません。

どのレイヤーが別のレイヤーの親であるかを調べる方法はありますか?またはどの層が別の層の同じグループにあるか?

答えて

0

Paint.NetにPSDプラグインを使用すると、各レイヤーのAdditionalInfoからレイヤー関係を見つけることができます。

  1. PSDFile.Layersは、レイヤーの順序付きリスト(フォトショップと比較して順序を逆に)
  2. foreachのレイヤーが含まれていることがそのAdditionalInfoプロパティでLayerSectionInfoを持っている場合、それはレイヤツリーを再作成するための重要なノードです。
  3. Layer.AdditionalInfo [Layer of IndexSectionInfo] .SectionTypeのLayerSectionTypeを確認します。
    • OpenFolderまたはClosedFolderの場合、それは親レイヤーと開いたタグで、子孫の後にレイヤーされます。
    • SectionDividerの場合は、現在のレイヤーグループの終わりを示すタグを閉じるタグです。
    • LayerSectionInfoが存在しない場合は、共通レイヤーノードです。例えば

、層は次のようになり:

(OF SectionDividerある層用OpenFolder、L(SD)用)

[A(OF)、A0、A1( OF)、A10、L(SD)、L(SD)、B(OF)、B0(OF)、B00、L(SD)、B1、L(SD)]

このレイヤーツリー:

    • A0
    • A1
      • A10
  • B
    • B0
      • B00
    • B1
関連する問題