LoginSignup
0
1

More than 5 years have passed since last update.

PhotoShopの「塗りの不透明度」はPSDファイルフォーマットのどこに格納されているのか?

Last updated at Posted at 2018-12-11

発端

今回、吉里吉里用のPSDプラグインに、PhotoShopの「塗りの不透明度」(↓これです)を読み出す機能を追加しようと思い立ちました。

image.png

調査

PhotoShopのPSDファイルフォーマットの公式な仕様書はAdobeのサイトで公開されています。

Adobe Photoshop File Formats Specification

PhotoShopの「塗り」パラメータは英語では「Fill」もしくは「Fill Opacity」と表現されます。仕様書内をこのあたりのキーワードで検索してみましたが、該当するフィールドの定義が見当たりません。

関連情報を検索してみると、どうもこの仕様書はメンテナンスが不十分な様子なので、該当の仕様が記載漏れになっている可能性を疑いました。そこで、既存のpsd parseライブラリのいずれかにヒントが無いか調べることにしました。

その結果、libpsdの実装に、対応するフィールドの読み出し機能が実装されていることを発見しました。

結論

「塗りの不透明度」のフィールドは、Layer Info の Additional Layer Information に、 'iOpa' というキーで格納されています。

前述の公式の仕様書にならうと、以下のような定義になります。

Additional Layer Information
Fill Opacity
The key of the fill opacity is 'iOpa'. The Data has the following format:
Fill Opacity Info

Length Description
1 Opacity: 0 = transparent ... 255 = opaque
3 Padding
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1