title_logo()をプロ化する具体改修7点で叩き込む。全数値はPILにそのまま落とせる。
我々が戦う場所はピクセル数が決まっている。DLsite商品一覧の主表示は横長 560×420(4:3)、検索・関連・お気に入り枠は300×300の正方形に潰れる[1][6]。スマホ実機ではさらに小さい。つまり「縮小して潰れた状態」が本番であり、原寸の精緻さはほぼ評価されない。この前提から逆算した結論は3つ。
title_logo() は既に「暗バンド+白フチ+縦グラデ+影+バッジ」の6層を持つ良い土台。本DRはこれを5型に分岐させ、二重縁取り(2:1)・ベベル風ハイライト・煽り帯・微傾きを足してプロ水準へ引き上げる(第10章)。DLsiteは2024年に個人・サークル・メーカー合算で51万超の作品がリリースされた超レッドオーシャン[5]。新作は一覧に並んだ瞬間、左右を別作品に挟まれ、ユーザーは1作品あたり0.5秒未満でスクロール判定する。ここで効くのは中身ではなくサムネ1枚のCTR。CTR(クリック率=表示に対するクリック割合)が2倍になれば、同じ露出で詳細ページ流入が2倍、購入も比例して伸びる[8]。
| 段階 | 勝負する画像 | 表示寸法 | 効くデザイン要素 |
|---|---|---|---|
| 一覧で止める | カバー(メイン) | 560×420 横長[1][6] | 題字の図地分離 / 暖色誘目 / 顔+表情 |
| 関連・検索で拾う | 正方サムネ | 300×300[6] | 中央寄せ構図 / 大題字 / 属性バッジ |
| 詳細で買わせる | サンプル1枚目 | 長辺2000px以内[6] | 見せ場 / 煽り文 / ページ数表記 |
結論: 制作工数の配分は「絵9:表紙1」ではなく「絵7:表紙3」が正しい。我々はPILで表紙を量産できる強みがあり、ここを磨くと相対優位が最も大きい。
流通量の多い売れ筋表紙(NTR系・サキュバス系・寝取られ調教系の上位)を横断観察すると、題字に共通して現れる要素は次の10。上位ほど頻出かつ効果が高い。
| # | 共通要素 | 具体 | PIL対応難度 |
|---|---|---|---|
| 1 | 白(or明)外フチ | 背景がどんな色でも文字が浮く緩衝帯 | 易 MaxFilter / stroke |
| 2 | 縦グラデ本体 | 上明→下濃(ピンク/赤/金)で立体感 | 易 マスク縦グラデ |
| 3 | ソフト落ち影 | 本体の背後にぼかし影=絵から浮かす | 易 GaussianBlur |
| 4 | 二重縁取り(外2:内1) | 外=濃色or白、内=反対色で締める[3][4] | 易 MaxFilter二段 |
| 5 | 微傾き(±2〜3°) | 水平だと静的→動きが出る[9] | 易 rotate |
| 6 | 上ハイライト帯 | 文字上端だけ白く=ツヤ/箔感 | 中 マスク上半グラデ |
| 7 | 属性バッジ | 「巨乳」「NTR」「総集編」等の小タグ | 易 rounded_rectangle |
| 8 | 煽り帯(キャッチ) | 主題字の上下に刺さる一文(細字) | 易 text + 半透明帯 |
| 9 | 版ズレ/色収差 | ピンク影を数px横ずらし=ポップ[2] | 易 offset paste |
| 10 | ジャンプ率(大中小) | 主題字100:煽り42:バッジ30の比[9] | 易 fs比固定 |
ここが本DRの心臓。我々が量産すべき題字を5型に定め、各型の確定値(縁/影/グラデ/袋文字/級数/配置)を全て数値で固定する。基準: 題字本体高さ H_title = 画面高 × 0.10(=高さの10%、後述)。すべての px は H_title からの比で書くので、どの画像サイズでもスケールする。supersampling はSS=2〜4で描いて LANCZOS 縮小し、ジャギを消す前提[10]。
fontsize(px) で運用する。本DRの「級数」列は fs = H_title に対する倍率で示す(例: 主題字 fs=H_title)。| 要素 | 確定値 | 備考 |
|---|---|---|
| フォント | 太ゴシック(源ノ角ゴシック Heavy / ロゴたいぷゴシック) | 細明朝はサムネで死ぬ |
| 本体グラデ | 上 (255,143,192) → 下 (192,30,110) 縦 | 上明下濃が鉄則 |
| 外フチ(白) | 太さ = fs × 0.14(=H_titleの14%) | MaxFilter(半径 ow) |
| 内フチ(濃ピンク) | 太さ = fs × 0.07(外の1/2)[3][4] | 外2:内1の黄金比 |
| 落ち影 | 色(20,6,18,128)/ぼかし=fs×0.14/オフセット=fs×0.045 右下 | 不透明度50% |
| 上ハイライト | 文字上端30%に白20%オーバーレイ | ツヤ |
| 傾き | -3° | 左上がり |
| 級数(fs比) | 主題字=1.00 / 煽り=0.42 / バッジ=0.30 | ジャンプ率 |
| 配置 | 上12% or 下12%(顔・胸・股間を避ける) | 第5章の回避帯 |
| 要素 | 確定値 |
|---|---|
| 本体グラデ | 上 (255,243,196) → 中 (231,200,122) → 下 (154,106,30) の3点縦 |
| 箔ハイライト | 上端18%に純白(255,255,255,220)を細帯で。シャープな白線が金属感の核 |
| 外フチ | 濃茶(60,30,8) 太さ fs×0.12 |
| 内フチ | 無し or 暗金(120,80,20) fs×0.05 |
| 影 | 色(0,0,0,140)/ぼかし fs×0.10/オフセット fs×0.04 |
| 傾き | 0°(高級感は水平で重厚に) |
| 級数 | 主題字=1.00 / サブ「Vol.2」等=0.38 |
| 要素 | 確定値 |
|---|---|
| 本体 | ベタ (17,17,17) または上黒→下 (122,12,12) |
| 外フチ | 赤 (214,0,90) 太さ fs×0.13 |
| 内フチ | 白 fs×0.05(黒地に白で締める) |
| 赤グロー | 赤(255,40,40)を stroke+4 で描きGaussianBlur fs×0.2 → 後ろに敷く |
| 影 | 不要(グローで浮く) |
| 傾き | -2° |
| 用途 | 暗い背景イラスト専用。明るい背景では型1へ |
| 要素 | 確定値 |
|---|---|
| 本体 | 白(255,255,255)ベタ |
| 版ズレ影 | ピンク(255,90,160)を右下に fs×0.05 ずらして複製[2] |
| 外フチ | 濃ピンク(214,0,90) 太さ fs×0.10、位置=外側[2] |
| 網点 | ハーフトーン(点・サイズ1相当)をソフトライトで薄掛け[2] |
| 傾き | -4°(ポップは大きめに振る) |
| 級数 | 主題字=1.00 / 煽り=0.45 / ハート装飾アイコン散らし |
| 要素 | 確定値 |
|---|---|
| 組み | 縦書き右→左。文字間 = fs×0.05 アキ |
| フォント | 極太ゴシック or 筑紫B見出し明朝 |
| 本体 | 上 白系 → 下 (122,18,64) 縦グラデ |
| 外フチ | 墨(20,10,16) 太さ fs×0.12 |
| 朱差し | 1〜2文字だけ朱(196,30,30)で替える=視線の核 |
| 配置 | 右端 or 左端の縦帯(顔の反対側)。胸を縦書きで塞がない[本DR第5章] |
| 傾き | 0°(縦は傾けない) |
表紙改修は1回作れば全作品・全言語ページに効き続けるストック投資。試算前提を置く。
| 項目 | 改修前 | 改修後(本DR5型適用) |
|---|---|---|
| 一覧CTR(仮) | 1.0% | 1.7%(縁・暖色・3段で+70%想定) |
| 月間一覧露出 | 50,000 | 50,000(同条件) |
| 詳細流入/月 | 500 | 850 |
| CVR(詳細→購入) | 3% | 3%(中身同一) |
| 販売数/月 | 15 | 25.5(+70%) |
| 客単価 | ¥770 | ¥770 |
| 月売上 | ¥11,550 | ¥19,635(+¥8,085) |
改修コストはPIL実装で半日(¥0の自己工数)。1作品あたり月+8千円なら、稼働作品が10本あれば月+8万円。CTRは作品ごとに当たり外れがあるが、縁取り・暖色・3段ジャンプ率の3点は外れがほぼ無い底上げであり、ROIは桁違いに高い。
横書きは左上→右下のZ型、縦書きは右上→左下のN型に視線が流れる[12]。最も目立つ左上(横書き)/右上(縦書き)に一番打ち出したい要素を置く。逆に目立たない隅(右上・左下)にサークル名やVol番号を逃がす[12]。
売れる絵は顔・胸・股間(見せ場)に文字を被せない。我々の compose() は既に avoid_boxes() + 見せ場保護帯((0.18,0.34,0.86,1.0)等)を実装済で正しい。題字はこの回避帯の外=画面上12% or 下12%の横帯に置くのが基本。
| キャラ構図 | 題字の置き場 | 理由 |
|---|---|---|
| 顔が上・体が下(立ち) | 上12%横帯 or 右の縦帯(型5) | 顔の上=空が空きやすい |
| 顔が中央(バストアップ) | 下12%横帯 | 上は髪、下に余白 |
| 絡み(横長見せ場) | 上12% + 下に煽り帯 | 中央は絶対死守 |
| 引きの全身 | 左上Z起点に斜め大題字 | 背景余白を使う |
| ゾーン | 縦位置(画面高比) | 中身 | 級数 |
|---|---|---|---|
| 煽り帯(上) | 0.02〜0.09 | 刺さる一文「寝取られた妻は…」 | 0.42 |
| 主題字 | 0.04〜0.16(上配置時) | 作品名(5型から選択) | 1.00 |
| キャラ見せ場 | 0.18〜1.00 | 絵(無加工で死守) | ― |
| 属性バッジ | 主題字の右 or 下端 | 巨乳/NTR/総集編/CG○枚 | 0.30 |
| サークル名 | 右下or左下隅 | 小さく逃がす | 0.22 |
背景が複雑な絵でも題字を読ませる「下地」。我々は既に暗バンド(左右フェード, alpha150, GaussianBlur2)を実装済で正しい[本DR第10章]。煽り文には半透明の色帯(主題字グラデの濃色を alpha 200)を一本敷くと格段に締まる。帯の高さ=その行のfs×1.4。
| 地雷 | 症状 | 確定回避値 |
|---|---|---|
| 黒一色ベタ文字 | 絵に貼り付いて沈む | 必ず白外フチ fs×0.14 + 影 |
| フチ太すぎ | 文字が潰れて団子 | 外フチ ≤ fs×0.16 で止める |
| 細明朝をサムネに | 300pxで線が消える | サムネ題字は太ゴシック固定 |
| 色4色以上 | うるさい・安っぽい | 配色は3色以内[7] |
| 水平+全部同サイズ | 静的・素人 | -2〜-4°傾き + 3段ジャンプ率[9] |
| 日 | タスク | 成果物 |
|---|---|---|
| 1-3 | 現 title_logo() に style 引数(5型)を追加 | type1〜5 分岐 |
| 4-7 | 二重縁取り(外2:内1)を MaxFilter二段で実装 | 内フチ追加 |
| 8-12 | 上ハイライト帯(マスク上30%白20%)を全型へ | ツヤ/箔 |
| 13-16 | 煽り帯(色帯+細字)+ -3°微傾きを追加 | 動き |
| 17-21 | 5型×既存表紙でA/Bサムネ生成→4AI採点 | 勝ち型確定 |
| 22-26 | 勝ち型を全稼働作品の表紙へ一括再生成 | 横展開 |
| 27-30 | DLsite反映後7日のCTR比較ログ | 効果実測 |
title_logo() を維持(=現行が既に十分強い証拠)。現 title_logo()(engine v11)を精査した。暗バンド/白フチ(MaxFilter)/縦グラデ(マスク)/ソフト影/バッジの6層を持つ良い実装。だがプロ題字に対して欠けている7点がある。下記は実コードに対する具体差分。
現状は白フチ1枚のみ(dil=mk.filter(MaxFilter(ow*2+1)))。これに内側の濃色フチを1枚足すと一気に締まる。黄金比は外フチ:内フチ = 2:1[3][4]。
本体グラデは上明→下濃で良いが、最上部だけ純白の細帯を足すと金属/濡れたツヤが出る。実装: 本体マスク mk の上端18%だけを別マスク化し、(255,255,255,210)を alpha_composite。型2(金箔)で必須、型1でも効く。
現 lay は水平合成のみ。プレート/題字レイヤーを lay.rotate(-3, resample=BICUBIC, expand=True) してから合成。±2〜3°が自然な黄金値[9]。型2/型5は0°のまま(引数 tilt で型別制御)。
現 sub は右の小バッジのみ。これとは別に主題字の上に細字の煽り行(fs×0.42)を半透明色帯付きで描く引数 tagline を追加。「寝取られた人妻が堕ちるまで」等。ジャンプ率(主100:煽42)で情報が立体化[9]。
現状 accent/accent2 の2色しか受けない。style="type1".."type5" を受け、グラデ色・フチ色・傾き・ハイライト有無・版ズレ有無を辞書で一括差し替え。第4章の確定値テーブルをそのまま STYLES = {...} に落とす。
型4のときだけ、本体を右下 fs×0.05 ずらしたピンク複製を背後に敷く[2]。色収差風で一気にポップ化。実装は page.alpha_composite(lay_pink,(tx+dx,ty+dy)) を本体合成の前に1行。
現 SS=2。二重縁取り+ハイライトを足すと細部が増えるのでSS=3に上げて LANCZOS 縮小するとジャギが消える[10]。メモリは1.5倍で済む(題字レイヤーのみの拡大なので軽い)。
# 現: 白フチ1枚
ow=int(max(5,fs//7)*SS); dil=mk.filter(ImageFilter.MaxFilter(ow*2+1))
wl=Image.new("RGBA",(bw,bh),(255,255,255,0)); wl.putalpha(dil); lay.alpha_composite(wl)
# 改修: 内側に濃色フチ(外2:内1) を白フチと本体の間に
iw=max(2,ow//2)
inner=mk.filter(ImageFilter.MaxFilter(iw*2+1))
il=Image.new("RGBA",(bw,bh),accent2+(0,)); il.putalpha(inner)
lay.alpha_composite(il) # 白フチの後・本体グラデの前
# このあと従来どおり g(縦グラデ本体)を alpha_composite
title_logo()(engine v11) = 本DR改修の母体。6層実装済。D:\projects\ai_manga_studio\_versions\engine_v11_2026-06-11_題字ロゴ_暗ハロー_吹出影.py L423。avoid_boxes() + 見せ場保護帯 = 第6章の題字回避をすでに実現。題字配置ロジックはこれに乗せるだけ。_VERSIONS.md / version_save.sh = 改修前後をバージョン保存し撤退ライン(第9章)に対応[memory]。