9-patch PNG(.9.png)は可変 UI 枠を一枚で渡す設計と実装の契約だ。典型の失敗は1px マーカー潰れ、伸縮区/コンテンツ区のズレ、透明縁×sRGB。本稿は早見表とMac mini M4 向け批処理しきい値の目安。
仕様の読み解き(伸縮区・コンテンツ区・ピクセル整合)
上・左の黒線が伸縮区、右・下がコンテンツ(パディング)区。ツール上は見えにくいので辺ごとの長さを README に残す。マーカーは 1x で物理 1px、@2x/@3x は画像サイズのみ整数倍に。偶奇の揃え方はFigma と PNG のピクセル整合チェックリストと同じ語彙で共有する。
1px 枠・透明縁・倍率・sRGB:納品ルール早見表
| 項目 | デザイナー側の固定ルール | フロント/ビルド側の確認 |
|---|---|---|
| 1px マーカー | 黒は #000、グレー不可。縁にぼかし(AA)を入れない |
1x を拡大しマーカーが単色 1px か目視 |
| 透明縁 | 最外周 1px は完全透明のみ(中身や影が食い込まない) | 外周アルファの抜き取り・下地テスト |
| 密度倍率 | 基準 WxH と端数密度(例 @1.5x)を SKU で明示 |
各 drawable-*dpi で倍数一致 |
| sRGB 書き出し | 表示前提を sRGB に固定(P3 専用端末はガイドで別枠) | ICC 方針を規約で統一(sRGB/P3 チェックリスト) |
バッチ書き出しワークフロー
高解像で作り、9-patch 用 1x は機械生成(@2x 縮小はマーカー潰れ易い)。name.9.png の .9 を維持し、README にセグメント長を書く。
- inbox/out/quarantine で合格のみ昇格。
- アルファ順は固定。透明トラブルは透明 PNG チェックリストへ。
sha256+WxH+密度をマニフェスト化。
よくある色差とギザギザ FAQ
Q. 実機だけ縁がギザギザ。 A. 縁に AA が混ざっていないか。境界をクリップし 1x 偶奇も確認。
Q. 壁紙上だけ色がおかしい。 A. 乗算ピクセルが透明縁に漏れがち。クリップかパディング拡大。エンジン 9-slice に逃がす場合は inset を別ファイルにし、PNG と二重定義にしない。
リモート M4 批処理パラメータ提案
Mac mini M4 で magick identify 等による機械ゲート例(スライダー検収からの脱却)。
| 検査項目 | しきい値の例 | メモ |
|---|---|---|
| 寸法 | 仕様 WxH と ±0 px | 1x×倍率と一致 |
| チャンネル | SKU ごとに rgba または rgb を固定 |
透明縁は必須 |
| ファイルサイズ | min_bytes/max_bytes を帯で指定 |
空/16bit 誤りの検知 |
| 並列度 | CPU コアの 60〜80% 程度から開始 | 熱・I/O を見て段階的に |
ループ例:magick identify -format "%w %h" で各ファイルを 1x_w×scale と突き合わせる。
まとめと次の一手
9-patch はラスタ+数値仕様。早見表でチーム合意し、M4 で WxH/チャンネルをゲートすれば実機トラブルを大きく減らせる。受入はスクショ添付までがセット。
次のステップ:検収バッチをリモート Mac M4 に載せる
ホーム、購入・レンタル、料金はログイン不要で比較できます。接続手順はご利用ガイド。関連記事は技術インサイトを参照してください。
9-patch 含む UI PNG の一括検証を M4 にオフロード
書き出し監視としきい値ゲートをログイン不要で試せるプランから。