<< Back
※すべてリトルエンディアン
APDヘッダ部 | ||
---|---|---|
ヘッダ文字列 | 7Byte | "AZPDATA" |
バージョン数字 | 1Byte | 0 |
全体のイメージ情報 | ||
データサイズ | 4Byte | データのバイト数 (=10) |
イメージの幅 | 2Byte | イメージの幅 (px) |
イメージの高さ | 2Byte | イメージの高さ (px) |
レイヤ数 | 2Byte | ファイル中に存在するレイヤの数 |
レイヤ通算カウント | 2Byte | 今までいくつレイヤを作成したかという値。 レイヤを新規作成した場合の、デフォルトレイヤ名 ("レイヤ"+番号) に使われる。 ※レイヤ名でしか使われないので、適当な値でも構いません。 |
カレントレイヤ番号 | 2Byte | カレントレイヤのインデックス番号。 レイヤウィンドウから見て一番上にあるレイヤを 0 として、下にいくと +1。 ファイル内のレイヤは下層から順に記録しているので注意。 |
プレビューイメージ | ||
プレビュー用に縮小した一枚絵のイメージデータ。 AzPainter では、90x90 に収まるサイズに縮小させたイメージを記録している。 |
||
画像の幅 | 2Byte | プレビューイメージの幅 (px) |
画像の高さ | 2Byte | プレビューイメージの高さ (px) |
イメージデータサイズ | 4Byte | 下に続くイメージデータのバイト数。 0 でプレビューイメージなし。 イメージデータがある場合は [ 幅×高さ×4 ] がデータサイズとなる。 |
イメージデータ | [上のサイズ分] | 1px = 32bit、ボトムアップの DIB イメージデータ (無圧縮)。 DIB のイメージ部分のデータのみです。 X は左→右、Y は下→上の順で 32bit の色データが並んでいる。 色は B-G-R-A のバイト順。DWORD で読み込むと ARGB となる。 プレビュー時の読み込み処理を簡単にするため無圧縮にしてある。 |
レイヤデータ関連情報 | ||
ヘッダサイズ | 4Byte | 各レイヤ一つのヘッダ情報 (レイヤ名〜フラグまで) のバイト数。 通常は 35。 |
各レイヤデータ | ||
以降、レイヤごとのデータが続く。 レイヤウィンドウから見て一番下のレイヤから順に格納されている。 |
||
レイヤ名 | 32Byte | レイヤ名文字列 (Shift-JIS)。NULL 文字を含みます。 |
合成モード | 1Byte | レイヤの合成モード番号。 [0] 通常 [1] 乗算 [2] 加算 [3] 減算 [4] スクリーン [5] オーバーレイ [6] ソフトライト [7] ハードライト [8] 覆い焼き [9] 焼き込み [10] 焼き込みリニア [11] ビビットライト [12] リニアライト [13] ピンライト [14] 差の絶対値 (以降、AzPainter2 のみ) [15] 比較(明) [16] 比較(暗) |
不透明度 | 1Byte | レイヤの不透明度。 0〜128 (0 で透明、128 で完全不透明) ※ AzPainter 上では 0〜100 となっていますが、内部では計算速度を上げるため 0〜128 の値となっています。 |
フラグ | 1Byte | [0bit] 表示状態 (0 で非表示、1 で表示) [1-2bit] 透明色保護 (0 でなし、1 で透明色保護 ON、2 で不透明色保護 ON) [3bit] アルファマスク (1 でON) [4bit] AzPainter2 のみ。 塗り潰し判定元 (1 でON) ※ AzPainter2 では、透明色保護とアルファマスクを合わせてレイヤマスクとしているので、アルファマスクが ON の時は透明色保護 (1-2bit) のデータは無視します。 |
イメージデータサイズ | 4Byte | 圧縮後のイメージデータバイト数。 |
イメージデータ | [上のサイズ分] | 圧縮されたレイヤのイメージデータ。 データは zlib を用いて deflate 圧縮されています。 展開後のデータは 32bit、ボトムアップの DIB データです。 なお、展開後のデータサイズはイメージの [ 幅×高さ×4 ] で計算できます。 (レイヤの画像サイズは全体のイメージサイズと同じです) 圧縮/展開する時は、データを丸ごと zlib に渡せば OK です。 |
ADW ヘッダ部 | ||
---|---|---|
ヘッダ文字 | 7Byte | "AZDWDAT" |
バージョン数字 | 1Byte | 0 |
全体のイメージ情報ヘッダ部 | ||
イメージの幅 | 2Byte | イメージの幅 (px) |
イメージの高さ | 2Byte | イメージの高さ (px) |
レイヤ数 | 2Byte | ファイル中に存在するレイヤの数 |
レイヤ通算カウント | 2Byte | 今までいくつレイヤを作成したかという値。 新規レイヤを作成した場合のレイヤ名 ("レイヤ"+番号) に使われる。 ※レイヤ名でしか使われないので適当でもかまいません。 |
カレントレイヤ番号 | 2Byte | カレントレイヤのインデックス番号。 レイヤウィンドウから見て一番上にあるレイヤを 0 として、下にいくと +1。 |
レイヤイメージの圧縮形式 | 1Byte | 0 で deflate 圧縮、1 で単純なゼロ圧縮。 ゼロ圧縮が使われるのは自動保存機能で保存されたファイルのみ。 普通に保存した場合は deflate 圧縮です。 |
プレビューイメージ部 | ||
全レイヤを合成させた一枚絵イメージ。 APD とは異なり、縮小されずに原寸大のサイズとなります。 幅と高さは、上記の全体イメージのサイズをそのまま使います。 圧縮前のデータサイズは [ イメージ幅 × 高さ × 4Byte ]。 イメージは deflate 圧縮されています。 |
||
データサイズ | 4Byte | 下に続くイメージデータの圧縮後のバイト数。 0 でプレビューイメージなし。 |
イメージデータ | [上のサイズ分] | 1px = 32bit、ボトムアップの DIB データを deflate 圧縮したデータ。 DIB のイメージ部分のデータのみです。 Xは左→右、Yは下→上の順で 32bit の色データが並んでいる。 色のバイト順は B-G-R-X、DWORD で読み込むと XRGB となる。 deflate 圧縮/展開については、zlib にデータをそのまま渡します。 |
各レイヤデータ | ||
以降、レイヤ数分の各レイヤデータが順番に続く。 レイヤウィンドウから見て一番下のレイヤから順に格納されている。 |
||
レイヤ名 | 32Byte | レイヤ名文字列 (Shift-JIS)。NULL 文字を含みます。 |
不透明度 | 1Byte | レイヤの濃度。 0〜128 (0 で透明、128 で不透明) ※ AzDrawing 上では 0〜100 となっていますが、内部では計算速度を上げるため 0〜128 の値となっています。 |
フラグ | 1Byte | [0bit] 0 で非表示状態、1 で表示状態 [1〜2bit] アニメーション時の扱い。 (0 でフレーム、1 で背景、2 で表示しない) |
線の色 | 4Byte | レイヤの線の色。 DWORD で読み込むと、XRGB。 |
イメージデータサイズ | 4Byte | レイヤのイメージデータを圧縮した後のバイト数 |
イメージデータ | [上のサイズ分] | レイヤのイメージデータ。 データは zlib を用いて deflate 圧縮されています。 8bit、トップダウンのイメージデータです。 X は 左→右、Y は 上→下 の順で並んでいる。 Y 1列のデータサイズは 4 バイト単位なので、イメージの幅が 4 で割り切れない場合は、1列ごとに 1〜3Byte 余分に付加されます。 Y1列のサイズ = (width + 3) & (~3) 圧縮・展開する時は、データを丸ごと zlib に渡せばOKです。 |
ADW ヘッダ部 (ver 1 と共通) | ||
---|---|---|
ヘッダ文字 | 7Byte | "AZDWDAT" |
バージョン数字 | 1Byte | 1 |
プレビューイメージ部 | ||
プレビュー用の縮小イメージ。 ver 1 では縮小されていない原寸大のイメージでしたが、ver 2 では 100 x 100 px に収まる程度に縮小されています。 |
||
幅 | 2Byte | イメージの幅 (px) |
高さ | 2Byte | イメージの高さ (px) |
圧縮サイズ | 4Byte | 下に続くイメージデータの圧縮後のバイト数。 0 でプレビューイメージなし。 |
イメージデータ | [上のサイズ分] | 1px = 32bit、ボトムアップの DIB データを deflate 圧縮したデータ。 DIB のイメージ部分のデータのみです。 X は左→右、Y は下→上の順で 32bit の色データが並んでいる。 色のバイト順は B-G-R-X、DWORD で読み込むと XRGB となる。 (内部で扱いやすくするために 32bit にしています。X の部分はアルファ値ではないので、無視してください) ZIP 圧縮/展開については、zlib にデータをそのまま渡します。 |
全体の情報 | ||
データサイズ | 2Byte | 以下のデータ (キャンバス幅〜レイヤ情報サイズ) のバイト数。 現在は 12 Byte。 |
キャンバス幅 | 2Byte | キャンバスの幅 (px) |
キャンバス高さ | 2Byte | キャンバスの高さ (px) |
DPI | 2Byte | 解像度の DPI 値 |
レイヤ数 | 2Byte | レイヤの数 |
カレントレイヤ番号 | 2Byte | カレントレイヤのインデックス番号。 レイヤウィンドウから見て上から順に 0、1、2、3…となる。 |
レイヤ情報サイズ | 2Byte | レイヤデータの、タイルデータを除いた情報部分のバイト数。 ("left"〜"アニメカウント" までのデータ) 現在は 79 Byte。 |
各レイヤデータ | ||
以降、レイヤ数分のレイヤデータが順番に続く。 レイヤウィンドウから見て一番下のレイヤから順に格納されている。 |
||
left | 4Byte | レイヤイメージの左上の X 座標 (px) |
top | 4Byte | レイヤイメージの左上の Y 座標 |
right | 4Byte | レイヤイメージの右下の X 座標 (+1 した値) |
bottom | 4Byte | レイヤイメージの右下の Y 座標 (+1 した値) |
タイル数 | 4Byte | レイヤデータに含まれるタイルの数 |
レイヤ名 | 50Byte | レイヤ名テキスト (UTF-16LE)。NULL 文字を含みます。 |
不透明度 | 1Byte | レイヤの濃度。 0〜128 (0 で透明、128 で不透明) ※ AzDrawing 上では 0〜100 となっていますが、内部では計算速度を上げるため 0〜128 の値となっています。 |
線の色 | 4Byte | レイヤの線の色。 DWORD で読み込むと XRGB となる。 |
フラグ | 1Byte | [0 bit] 0 で非表示状態、1 で表示状態 [1 bit] 塗りつぶし参照のON/OFF [2 bit] レイヤマスク - 通常のマスク [3 bit] レイヤマスク - 下のレイヤをマスクに [4 bit] グループ化 - 通常のグループ化 [5 bit] グループ化 - 下のレイヤをグループ化 |
フレームタイプ | 1Byte | アニメーションのフレームタイプ。 0 : 通常フレーム 1 : サブフレーム 2 : 共通フレーム 3 : 非表示 |
アニメカウント | 2Byte | アニメーションの表示フレーム数 |
※以下、「タイル数」 で指定された数だけタイルのデータが並ぶ。↓各タイルデータ | ||
タイル位置X | 2Byte | このタイルの相対 X 位置 |
タイル位置Y | 2Byte | このタイルの相対 Y 位置 |
圧縮サイズ | 2Byte | タイルのイメージデータを圧縮した後のバイト数。 4096 で無圧縮。 0 または 4097 以上の値の場合はデータが壊れている。 |
タイルの イメージデータ |
[上のサイズ分] | タイルのイメージデータ。 無圧縮でない場合、データは zlib を用いて deflate 圧縮されています。 8bit、64 x 64 px 分のデータです。 X は 左→右、Y は 上→下 の順で並んでいます。 無圧縮なら 4096 Byte。 圧縮・展開する時はデータを丸ごと zlib に渡せばOKです。 |