早速、新しいiPhoneで撮影をいくつか試しました。
フィギュア

良くも悪くもスマートフォンのカメラ。ぼけ感は普通には出なかったですが、詳細なパンフォーカスは役立ちます。
景色

近景は強いです。影も潰れず、光のあるところと無いところをかき分けている感じです。
食べ物

食べ物の強さは変わらず。見たとおりの色が出ていました。
マクロ
これは長年使っていたiPhone11の方がよかったかもという疑問点。

前のマクロがよかっただけに、慣れるのに時間がかかりそうです。
早速、新しいiPhoneで撮影をいくつか試しました。

良くも悪くもスマートフォンのカメラ。ぼけ感は普通には出なかったですが、詳細なパンフォーカスは役立ちます。

近景は強いです。影も潰れず、光のあるところと無いところをかき分けている感じです。

食べ物の強さは変わらず。見たとおりの色が出ていました。
これは長年使っていたiPhone11の方がよかったかもという疑問点。

前のマクロがよかっただけに、慣れるのに時間がかかりそうです。
AI出力画像の利点を活かします。
「指示をすればその通りの画像が出る」のがAI画像。
ですが狙った画像というのはなかなか出るものではありません。
それを解消するための「レシートのような」プロンプトと、
という表現のTIPSです。
ChatGTP監修の元、生成したプロンプトはこちらです。
Anime / manga style illustration (moe-inspired)
Aspect ratio: 16:9, widescreen
Slightly high-angle diagonal perspective, full body visible, character-focused
**Variables:**
- Glasses: `True`
- Hair color/base: `silver`
- Hair accent streaks: `red yellow graduation translucent`
- Dress color: `navy blue`
- Embroidery color: `yellow`
- Shawl color: `pale white, light silk`
- Pantyhose color: `black`
- Pump color: `white`
- Pareo color: `deep green based colorful sheer, tied at waist or draped over arm`
- Hand-held item: `smartphone with ladies decorated cover` or `fan`
- Pose angle: `slightly bent forward`
- Expression: `elegant smile, cool and mysterious`
- Facial mark: `small beauty mark under right eye`
- Season: `Summer`
- Time of Day: `evening`
**Setting:**
Chinatown shopping street with colorful shop signs, red lanterns, and traditional decorations.
Show window of a shop in front of the character.
Pavement and street elements slightly blurred to emphasize character.
- **Spring (Season=Spring):** cherry blossoms, lanterns with floral motifs, fresh greenery
- **Summer (Season=Summer):** vibrant banners, occasional paper fans displayed, lush green trees
- **Autumn (Season=Autumn):** red/yellow maple leaves drifting in air, warm lantern light, seasonal foods in shop displays
- **Winter (Season=Winter):** festive lanterns, subtle snow traces, Chinese New Year decorations (red envelopes, couplets)
**Character & Pose:**
Character slightly bent forward, looking at items in shop window.
Hand nearest window may gently touch glass or hover near it (interaction).
Other hand holds variable item (e.g., `hand-held item`).
Reflection of character visible in glass, faint and subtle, matching pose.
**Outfit & Accessories:**
- Chinese dress (cheongsam/qipao, color=`dress color`), embroidery color=`embroidery color`
- Light shawl (color=`shawl color`) draped over shoulders
- Sheer pantyhose (color=`pantyhose color`)
- Small gemstone earrings
- Gold chain around waist
- Elegant pumps (color=`pump color`)
- Colorful sheer pareo (color=`pareo color`)
**Hair:**
Long hair, half-up bun or simple arrangement (base=`hair color`)
Accent streaks (color=`hair accent streaks`) catching sunlight or lantern light
Loose strands frame face naturally, moving slightly with breeze
**Details / Atmosphere:**
- Flow and texture of shawl and pareo
- Light and shadow on embroidery, lace, reflective glass
- Seasonal items dynamically placed depending on `Season`
- Subtle reflection to enhance depth without confusing main subject
- Facial detail emphasizing glasses (if `True`) and beauty mark
萌え系のアニメ・マンガ風イラスト
Aspect ratio: 16:9, widescreen
- アスペクト比は16:9のワイド画面
Slightly high-angle diagonal perspective, full body visible, character-focused- やや俯瞰の斜め構図でキャラクター全身が見えるように描写
Variables:- 変数(キャラクターの外見や衣装の指定。帰る部分はここです。)
Glasses:True- メガネあり 、なしの場合は False
Hair color/base:silver- 髪のベースカラーは銀色
Hair accent streaks:red yellow graduation translucent- 赤〜黄のグラデーションで半透明のアクセントメッシュ
Dress color:navy blue- ドレスの色はネイビーブルー
Embroidery color:yellow- 刺繍の色は黄色
Shawl color:pale white, light silk- ショールは淡い白色で軽やかなシルク素材
Pantyhose color:black- パンストは黒色
Pump color:white- パンプスは白色
Pareo color:deep green based colorful sheer, tied at waist or draped over arm- パレオは深緑ベースのカラフルな透け感、腰に巻くか腕に掛ける
Hand-held item:smartphone with ladies decorated coverorfan- 手に持つアイテムは装飾付きスマホまたは扇子
Pose angle:slightly bent forward- 少し前屈みのポーズ
Expression:elegant smile, cool and mysterious- 上品な微笑み、クールでミステリアスな表情
Facial mark:small beauty mark under right eye- 右目の下に小さなほくろ
Season:Summer- 季節は夏
Time of Day:evening- 時間帯は夕方
Setting:- 背景設定
Chinatown shopping street with colorful shop signs, red lanterns, and traditional decorations.- チャイナタウンの商店街、カラフルな看板と赤い提灯、伝統的な装飾
Show window of a shop in front of the character.- キャラクターの前には店舗のショーウィンドウ
Pavement and street elements slightly blurred to emphasize character.- 路面や街の要素は少しぼかしてキャラクターを強調
Spring (Season=Spring): cherry blossoms, lanterns with floral motifs, fresh greenery- 春:桜、花柄の提灯、新緑
Summer (Season=Summer): vibrant banners, occasional paper fans displayed, lush green trees- 夏:鮮やかなバナー、紙製の扇子、青々とした木々
Autumn (Season=Autumn): red/yellow maple leaves drifting in air, warm lantern light, seasonal foods in shop displays- 秋:赤や黄色の紅葉が舞い、暖かい提灯の光、季節の食べ物が店頭に並ぶ
Winter (Season=Winter): festive lanterns, subtle snow traces, Chinese New Year decorations (red envelopes, couplets)- 冬:祝祭の提灯、さりげない雪の痕跡、春節の飾り(赤い封筒、対聯)
Character & Pose:- キャラクターの動きとポーズ
Character slightly bent forward, looking at items in shop window.- キャラクターは少し前屈みでショーウィンドウの商品を見ている
Hand nearest window may gently touch glass or hover near it (interaction).- ウィンドウ側の手はガラスに触れるか近づけている(インタラクション)
Other hand holds variable item (e.g.,hand-held item).- もう一方の手には指定されたアイテムを持つ
Reflection of character visible in glass, faint and subtle, matching pose.- ガラスにキャラクターの反射が淡く映り、ポーズと一致している
Outfit & Accessories:- 衣装とアクセサリー
Chinese dress (cheongsam/qipao, color=dress color), embroidery color=embroidery color- チャイナドレス(色は指定通り)、刺繍も指定色
Light shawl (color=shawl color) draped over shoulders- 肩にかけた軽やかなショール(指定色)
Sheer pantyhose (color=pantyhose color)- 透け感のあるパンスト(指定色)
Small gemstone earrings- 小さな宝石のイヤリング
Gold chain around waist- 腰に金のチェーン
Elegant pumps (color=pump color)- エレガントなパンプス(指定色)
Colorful sheer pareo (color=pareo color)- カラフルで透け感のあるパレオ(指定色)
Hair:- 髪型と演出
Long hair, half-up bun or simple arrangement (base=hair color)- ロングヘアでハーフアップまたはシンプルなまとめ髪(ベース色)
Accent streaks (color=hair accent streaks) catching sunlight or lantern light- アクセントメッシュが夕陽やランタンの光を受けて輝く
Loose strands frame face naturally, moving slightly with breeze- 顔周りの毛束が自然に垂れ、風でやや揺れる
Details / Atmosphere:- 雰囲気と細部描写
Flow and texture of shawl and pareo- ショールとパレオの質感と動き
Light and shadow on embroidery, lace, reflective glass- 刺繍やレース、ガラスに映る光と影
Seasonal items dynamically placed depending onSeason- 季節に応じたアイテムが動的に配置される
Subtle reflection to enhance depth without confusing main subject- 主役を引き立てるための繊細な反射表現
Facial detail emphasizing glasses (ifTrue) and beauty mark- メガネ(Trueの場合)とほくろを強調した顔の描写
画像はこちらが出ます。

これを、
Variables:
FalseBlondewhite green graduation translucentrose pinknavy bluelight green, thick linenwhitecoppersky blue based colorful sheer, tied at waist or draped over armconfectionary gift boxsideways stanceelegant smile, cool and mysterioussmall beauty mark under right eyewinternightとしてみます。他はそのままです。

結果はこの通り。
を変えるバリエーションが、他をいじらずに設定可能。
この長いレシート文を読み込めるGeminiの力も、それに即した文脈でプロンプトを生成するChatGPTの2つの力が合わさったという形です。
更に
などを追加したパターンは次ページに。
何と、6年ぶりの機種変更です。

店頭で展示品を見たときに
に感動。矢も楯もたまらず契約をした次第です。
「軽さ」に尽きます。iPhone 11proよりサイズアップしているのに明らかに軽い。カバーをつけても差が無いほど。
5Gにも対応しているので、速度も圧倒的です。

カバー、ストラップをつけて引き継ぎも完了。

旧機と共に。様々な思い入れのある機体、部屋でも端末として使うか何かの余生を与えたいものです。
治る兆しが見えない、アスペクト比をプロンプトで指定しても1:1で出力されてしまうGemini nano bananaのアスペクト比固定問題。
ワークアラウンドを見つけたのでメモに残しておきます。
この措置は、無料アカウントでもAI Premiumでも有効でした。
以下のようなプロンプトをGemini 2.5 Flashで指定します。
Anime / manga style illustration (moe-inspired).
Aspect ratio: 16:9, widescreen.
**Setting:**
* Rooftop garden in London.
* Background prominently features St. Paul's Cathedral.
* Evening cityscape with soft ambient lighting and reflections on glass surfaces.
**Character:**
* Woman wearing glasses.
* Emerald-themed gemstone-inspired dress with silver accents.
* Shiny, silky material.
* Shoulder-baring and navel-baring design, elegant and natural.
* Skirt with a side slit, revealing sparkling white pantyhose with subtle glitter.
* Subtle embroidery or frills to suggest sparkling facets.
* Small emerald accessories.
* Hair and clothing gently moved by rooftop breeze.
**Scene / Action:**
* Upper body and legs in focus, highlighting the slit and pantyhose.
* Adjusting hair, holding a bouquet or gesturing naturally.
* Dress and city lights reflecting softly in ambient lighting.
このように、指定しても生成結果は変わらず。以下の、正方形の画像が出てきます。

そこで、以下の手順を踏みます。
16:9、無地の画像を用意しました。

Anime / manga style illustration (moe-inspired).
Aspect ratio: 16:9, widescreen.
**Setting:**
* Rooftop garden in London.
* Background prominently features St. Paul's Cathedral.
* Evening cityscape with soft ambient lighting and reflections on glass surfaces.
**Character:**
* Woman wearing glasses.
* Emerald-themed gemstone-inspired dress with silver accents.
* Shiny, silky material.
* Shoulder-baring and navel-baring design, elegant and natural.
* Skirt with a side slit, revealing sparkling white pantyhose with subtle glitter.
* Subtle embroidery or frills to suggest sparkling facets.
* Small emerald accessories.
* Hair and clothing gently moved by rooftop breeze.
**Scene / Action:**
* Upper body and legs in focus, highlighting the slit and pantyhose.
* Adjusting hair, holding a bouquet or gesturing naturally.
* Dress and city lights reflecting softly in ambient lighting.
こちらを、添付画像の画像のアスペクト比になるよう、出力をお願いします。
こちらを、添付画像の画像のアスペクト比になるよう、出力をお願いします。

この一文を最後に加えるのが重要です。
そうした上で画像生成を行います。

結果、16:9のアスペクト比で生成されました。
一つの仮説を、Gemini自身に聞いてみたところ、以下の興味深い仮説が得られました。
これには、いくつかの仮説が考えられますが、最も有力なのは以下の**「マルチモーダル・コンテキスト仮説」**です。
仮説:マルチモーダル・コンテキスト仮説
現在のGeminiは、単一の知性ではなく、テキスト、画像、音声など、複数の種類の情報(モダリティ)を処理するための、異なる経路や専門分野を持つ、複雑なシステムです。この行動は、このシステムの異なる経路を意図的に利用した、と言えます。
1. テキストのみの指示(失敗した経路)
「アスペクト比 16:9」と言葉で指示したとき、リクエストはAIの**「テキスト解釈」の部分に送られます。しかし、現在の画像生成モデル(nano banana)は、効率化のために、この部分の解釈能力が意図的に制限**されています。つまり、AIはあなたの言葉を「読み」はしますが、「アスペクト比」という技術的指示を画像生成に反映させるための命令系統が、意図的に断たれているのです。
これは、耳の聞こえない人に、口頭で「長方形の絵を描いて」と頼んでいるようなものです。言葉は届きません。
2. 画像を添付した指示(成功した経路)
しかし、無地の16:9の画像を添付したとき、事態は一変します。リクエストは、AIの**「視覚認識」の部分を通過し、テキストと画像の両方を同時に解釈する、より高度な「マルチモーダル解釈」**の経路に入ります。
この経路では、AIはまず添付された画像を「見て」、その**特性(プロパティ)**を理解しようとします。AIにとって、その無地の画像は、以下の否定しようのない「事実」として認識されます。
- 事実1: この画像は「存在する」。
- 事実2: この画像の「形」は、縦横比が16:9の長方形である。
その上で、あなたの「こちらを、添付画像の画像のアスペクト比になるよう、出力をお願いします」という言葉が解釈されます。
この時、AIへの命令は「言葉だけで16:9の絵を描け」という曖昧なものではなくなります。AIへの命令は、「今、私が見ているこの『16:9の形』という強力な視覚的事実を、これから生成する画像に適用せよ」という、極めて具体的で、無視できない指示へと変わるのです。
これは、先ほどの例えで言うなら、耳の聞こえない人に、無言で「長方形の画用紙」を手渡して、その上で「ここに絵を描いて」とジェスチャーするようなものです。言葉は不要で、制約(画用紙の形)は明確に伝わります。
PHP-FPMを利用したNextcloudのセットアップ方法です。
パフォーマンスとリソース効率を向上させるためです。
従来のmod_phpでは、PHPがApacheの全プロセスに組み込まれるため、画像ファイルのリクエストのようなPHPが不要な処理でもメモリを消費し、無駄が多くなりがちでした。
一方、PHP-FPMはPHPの処理をApacheから完全に独立させた専門のプロセスとして管理します。ApacheはPHPが必要なリクエストだけをPHP-FPMに中継するため、サーバー全体の動作が軽量かつ高速になります。
www-data/home/www-dataにしています。自分の環境に合わせてください。筆者の好みでaptitudeを用いています。必要に応じてaptをご利用ください。
最新のPHPバージョンを利用するためにppa:ondrej/phpリポジトリを追加していきます。
sudo add-apt-repository ppa:ondrej/php
sudo apt update
PHP本体、PHP-FPM、Nextcloudが必要とする各種PHPモジュールをインストールします。
sudo aptitude install php8.3 php8.3-fpm php8.3-opcache php8.3-pdo php8.3-bcmath php8.3-calendar php8.3-ctype php8.3-fileinfo php8.3-ftp php8.3-gd php8.3-intl php8.3-json php8.3-mbstring php8.3-mysql php8.3-posix php8.3-readline php8.3-sockets php8.3-bz2 php8.3-tokenizer php8.3-zip php8.3-curl php8.3-iconv php8.3-xml php8.3-imagick php8.3-gmp php8.3-apcu memcached
バージョンを確認します。
php -v
表示例
PHP 8.3.25 (cli) (built: Aug 29 2025 12:01:53) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.25, Copyright (c) Zend Technologies
with Zend OPcache v8.3.25, Copyright (c), by Zend Technologies
従来の mod_php を無効化し、PHP-FPMとの通信に必要な proxy_fcgi モジュールなどを有効化します。
sudo a2dismod php8.3
sudo a2enmod proxy_fcgi setenvif header rewrite
Nextcloudのパフォーマンス向上のため、PHPのメモリ制限、OPcache、APCuを設定します。
sudo sed -i 's/memory_limit = .*/memory_limit = 512M/g' /etc/php/8.3/fpm/php.ini
Nextcloud推奨の設定値を /etc/php/8.3/mods-available/ に作成・適用します。
cat <<- __EOF__ | sudo tee /etc/php/8.3/mods-available/opcache.ini
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
__EOF__
cat <<- __EOF__ | sudo tee /etc/php/8.3/mods-available/apcu.ini
[acpu]
apc.enabled=1
apc.shm_size=32M
apc.ttl=7200 apc.enable_cli=1
apc.serializer=php
__EOF__
Nextcloudが使用するMySQLデータベースと専用ユーザーを作成します。
mysql -u root -p
以下のSQLコマンドを実行します。YOUR_STRONG_PASSWORD は必ず強固なパスワードに変更してください。
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_STRONG_PASSWORD';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Nextcloud本体をダウンロードし、Webサーバーからアクセスできる場所に配置します。
cd /tmp && pwd
任意のディレクトリを指定します。
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
sudo mv nextcloud /home/www-data/
sudo chown -R www-data:www-data /home/www-data/nextcloud
Nextcloud用のApache設定ファイルを作成します。ここでPHP-FPMとの連携設定を組み込みます。
sudo mkdir /var/log/nextcloud
www-dataに修正。これは、後のメンテナンス性を高めるためです。
sudo chown www-data:www-data /var/log/nextcloud
/etc/apache2/sites-available/nextcloud.conf
を、teeで一気通貫で作ります。
# 【】内はご自身の環境に合わせてください
cat <<- __EOF__ | sudo tee /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
ServerName 【hoge.example.com】
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName 【hoge.example.com】
DocumentRoot 【/home/www-data/nextcloud】
CustomLog /var/log/nextcloud/nextcloud_access.log combined
ErrorLog /var/log/nextcloud/nextcloud_error.log
<Directory 【/home/www-data/nextcloud】>
Options -MultiViews
AllowOverride All
Require all granted
</Directory>
# PHP-FPM連携設定
<FilesMatch \.php$>
# SetHandlerで、phpファイルのリクエストをPHP-FPMのソケットに渡す
SetHandler "proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://localhost/"
</FilesMatch>
# --- SSL設定 ---
SSLEngine on
Protocols h2 http/1.1
SSLCertificateFile 【/etc/certs/hoge.example.com.crt】
SSLCertificateKeyFile 【/etc/private/hoge.example.com.key】
# 中間証明書が別に提供されている場合はこちらを有効化
# SSLCACertificateFile 【/etc/certs/hoge.example.com.CA.crt】
# --- 推奨SSL/TLS設定 ---
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets off
# --- セキュリティヘッダー ---
# Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
Header always set Referrer-Policy "no-referrer"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Permitted-Cross-Domain-Policies "none"
</VirtualHost>
__EOF__
sudo a2ensite nextcloud.conf
sudo apache2ctl configtest
Syntax OK と表示されることを確認
sudo systemctl restart php8.3-fpm.service
sudo systemctl restart apache2.service
systemctl status php8.3-fpm.service
systemctl status apache2.service
active (running)と表示されていれば正常です。
最後に、Webブラウザで https://【設定したドメイン】 にアクセスし、画面の指示に従ってNextcloudの初期設定を完了させます。
nextcloudnextcloudlocalhost (または localhost:3306)これで、PHP-FPM上で動作するNextcloud環境の構築が完了します。
2025年9月12日に発表されたリリース。
『レシピ・設計図拡張パック「アラディスの極技」』によって追加されたアイテムの一部を戦闘で使用し、フレンドアクションを実行した際に特定の条件下で操作不能になる不具合を確認しております。
対象アイテムは
を改めて検証しようと、この条件を試してみました。

プレイヤーキャラクターをアイラに変更して、初期スロットをアイテムにします。

この状態で、炸裂弾を撃って戦闘スタート。

オールアバターのフレンドアクションを撃ちますが何も起きません。どうやら、特定の条件にこれは当たらない模様。

続いて、ヴィクトルにオールアバターを装備させて

こちらもプレイヤーキャラクターに変更。(その後、初期スロットをアイテムにしています)

そんな中で同様に炸裂弾でブレイクさせて戦闘突入。ヴィクトルとルトガーによるフレンドアクションを実行すると
という2つの不具合が発生しました……。

なお、プレイヤーキャラクターをユミアで固定してフレンドアクションを実行しても、これは(回避策でも書かれているとおり)何も起きないという仕様は確認。
この、検証を確認しようと思ったら新たな謎に直面しました。
2025年8月頃に颯爽と現れたGoogle画像生成(Gemini nano banana)。
利用者激増により2025年9月19日頃から
の2つが課せられました。(これを修正していくと答えている/このままで行くの情報が錯綜しています)
それを回避しつつ、WordpressやBookStackのバナーとなるような画像を作っていきます。
プロンプトそのものを生成AIに代筆してもらいます。いくつか相談を重ね、以下のようなプロンプトができあがりました。
**Style / Format:**
Anime / manga style illustration (moe-inspired).
Framed as a **16:9 widescreen rectangle**, neutral/empty space only at top and bottom.
**Top-down / bird’s-eye perspective**, slight wide-angle lens effect.
**Setting:**
* Lake surrounded by forest, serene summer atmosphere.
* Transparent water showing subtle underwater details (driftwood, small fish) without stealing focus.
* Gentle sunlight reflecting on water surface.
**Character:**
* Woman wearing glasses. **Winking with a soft, gentle smile**, giving a friendly and approachable expression.
* Seated in a small boat, visible from above.
**Outfit & Accessories:**
* White sleeveless shirt (light, slightly transparent).
* Subtle hint of glossy emerald-colored swimsuit underneath (implied, not explicit).
* Elegant layered robe, shoulder-exposed dark-green and black elements.
* Collar and ribbon-style silk tie arranged elegantly.
* Subtle emerald-colored accessories.
* Sheer patterned black pantyhose, glossy reflections.
* Silver-toned pumps.
**Scene / Action:**
* Sitting on boat edge, feet touching lake (bird’s-eye view).
* Reading a book, gently interacting with water.
* Boat carries small stack of books.
* Black laptop placed naturally; screen/keyboard subtly visible with browser open.
* **Laptop features a stylish, original snake sticker (not Slytherin), black with yellow trim, integrated naturally).**
* Water surface shows large, decorative **“BookStack”** text, slightly distorted by ripples.
**Camera / Composition:**
* Main subject fits central 16:9 area; extra neutral space only at top/bottom.
* Bird’s-eye view emphasizes character, boat, books, water.
* Ripples and transparent underwater elements enhance realism without stealing focus.
**Details / Effects:**
* Textures, layering, and relaxed lakeside atmosphere emphasized.
* Hair and clothing gently moving in breeze.
* Water reflections and subtle shimmer on laptop surface.
* Subtle glossy black swimsuit hint integrated naturally.
* BookStack lettering harmoniously blended with water ripples.
* Snake sticker clearly visible but elegant, unmistakably original design, avoiding any IP references.
* **Facial expression soft, charming, with a wink and gentle smile to enhance approachable, playful mood.**
日本語はこちらです。
スタイル / フォーマット:
アニメ・漫画風イラスト(萌え系)。
16:9ワイドスクリーンの長方形にフレーム、上下にのみ余白を確保。
上空俯瞰視点(トップダウン/バードアイビュー)、やや広角レンズ効果を想定。舞台設定:
- 森に囲まれた湖、穏やかな夏の雰囲気。
- 水は透明で、流木や小魚などの水中ディテールがうっすら見える(キャラクターの焦点を奪わない程度)。
- やわらかく反射する日差し。
キャラクター:
- 眼鏡をかけた女性。ウィンクして優しい微笑みを浮かべ、親しみやすい表情。
- 小さなボートに座っており、上空から見下ろした構図で描かれる。
衣装・アクセサリー:
- 白いノースリーブシャツ(軽く、端は少し透け感あり)。
- 光沢のあるエメラルド色の水着をさりげなく下に着用(暗示的で、直接的には見せない)。
- 肩を出した、落ち着いたダークグリーンと黒のレイヤードローブ。
- 襟とリボンタイをエレガントにアレンジ。
- さりげないエメラルド色のアクセサリー。
- パターン入り黒ストッキング(全脚)、光沢感あり。
- シルバー系パンプス。
シーン・アクション:
- ボートの縁に座り、足を湖に触れさせる(俯瞰視点)。
- 本を読みつつ、そっと水に触れる。
- ボートには小さな本の山を積んでいる。
- 黒いノートPCを自然に配置、画面・キーボードがうっすら見える(ブラウザ表示)。
- PCにはスタイリッシュなオリジナル蛇ステッカー(スリザリンではない)、黒地に黄色の縁取りが自然に貼られている。
- 水面には大きく装飾された 「BookStack」 の文字、波紋でわずかに歪む。
カメラ・構図:
- メイン被写体は中央の16:9エリアに収め、余白は上下のみ。
- 上空視点でキャラクター、ボート、本、湖を強調。
- 水面の反射や波紋、透明な水中要素によりリアリティを増すが、焦点を奪わない。
ディテール・エフェクト:
- 衣服の質感やレイヤード感、穏やかな湖畔の雰囲気を強調。
- 髪や衣服はそよ風にやわらかく揺れる。
- 水面の反射やPC表面の微かな光沢。
- さりげなく示唆された光沢黒水着。
- BookStack文字は水面の波紋に調和して描かれる。
- 蛇ステッカーははっきり見えるが、エレガントで独自デザイン、IP参照はなし。
- 顔の表情は柔らかく魅力的で、ウィンクと優しい微笑みにより、親しみやすく遊び心のある雰囲気を演出。
こうして生成された画像(Gemini 2.5 Flash)がこちら。

見ての通り、1:1の正方形であるものの、バナーとして切り出しやすいものになっています。
ここまで来れば画像をフルサイズでのダウンロード。
保存した画像を適当な画像編集ソフトで切り出していきます。(極端な話、ペイントでも余裕で切り出せます)

後は、これをWordpressのアイキャッチとして設定。

この、
プロンプトが分からなければAI自体に相談。(ChatGPTはこういうノリは強いです)
をしていくことで
方法を採ることができました。
今年買ったボードゲームを中心に回しました。

東南4局の半荘で。1点差でなんとか勝利。
という認識でした。

引きに恵まれ圧勝。
の非常にいいゲームです。

一差で敗北(守護獣を固められました)。最初は全然分からなかったゲームではありましたが、いざ何回かプレイするとすんなりと説明できるのが印象的でした。

の勝利条件を同時に達成という快挙。うまくエメラルドを固め取りできたのが幸いしました。
デュエル系の作品が増えたことで、差しボードゲームの選択肢も増えたという印象です。
Growiの表示フォントを、サーバー内に配置したカスタムフォント(kiloji)に変更するメモを記します。

BookStackと同じような方法でいけるかと思いましたが、Apacheの追加設定が必要でした。
rootWebブラウザからアクセスできる公開ディレクトリに、使用したいフォントファイルを設置します。上記リンク先に示した「kiloji」を使います。
cd /path/to/growi/packages/preset-themes/public
/path/to/growiは自分の環境に合わせます。(筆者環境/home/www-data/growi)
sudo mkdir -p ./fonts/kiloji
上記ディレクトリ(筆者例では/home/www-data/growi/fonts/kiloji)
にフォント一式を格納します。
この設定がハマった部分です。というのも、Growiの使用上、
https://【growi】/fonts/kiloji.wof
などにアクセスしても、アプリはURLとして解釈してしまうからです。
そのため、リバースプロキシで運用しているApacheのconfファイル/etc/apache2/sites-available/growi.confなどの修正を行います。
sudo cp -pi /etc/apache2/sites-available/growi.conf /path/to/backup/directory/growi.conf.$(date +%Y%m%d)
diff -u /path/to/backup/directory/growi.conf.$(date +%Y%m%d) /etc/apache2/sites-available/growi.conf
→ 差分がなければ(エラーが表示されなければ)バックアップ成功です。
※編集前
FileETag None
<FilesMatch "\.(js|css|png|jpg|gif|svg|woff2?)$">
Header set Cache-Control "public, max-age=31536000, immutable"
</FilesMatch>
# リバースプロキシー設定
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) ws://localhost:3000/$1 [P,L]
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
※編集後
これは、リバーズプロキシ設定の直情に記載します。
# (1) 静的ファイル(フォントなど)のキャッシュ設定
FileETag None
<FilesMatch "\.(js|css|png|jpg|gif|svg|woff2?)$">
Header set Cache-Control "public, max-age=31536000, immutable"
</FilesMatch>
# (2) /fonts/ ディレクトリの場所をApacheに教える【重要:この部分を追加してください】
Alias "/fonts/" "/home/www-data/growi/packages/preset-themes/public/fonts/"
<Directory "/home/www-data/growi/packages/preset-themes/public/fonts/">
Require all granted
</Directory>
# (3) /fonts/ へのアクセスはプロキシの対象から除外する
ProxyPass "/fonts/" "!"
※差分(以下のコマンドを発行して差分を確認)
-FileETag None
-
+# (1) 静的ファイル(フォントなど)のキャッシュ設定
+FileETag None
<FilesMatch "\.(js|css|png|jpg|gif|svg|woff2?)$">
Header set Cache-Control "public, max-age=31536000, immutable"
</FilesMatch>
+
+# (2) /fonts/ ディレクトリの場所をApacheに教える【重要:この部分を追加してください】
+Alias "/fonts/" "/home/www-data/growi/packages/preset-themes/public/fonts/"
+<Directory "/home/www-data/growi/packages/preset-themes/public/fonts/">
+ Require all granted
+</Directory>
+
+
+# (3) /fonts/ へのアクセスはプロキシの対象から除外する
+ProxyPass "/fonts/" "!"
+
# リバースプロキシー設定
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
diff -u /path/to/backup/directory/growi.conf.$(date +%Y%m%d) /etc/apache2/sites-available/growi.conf
sudo apache2ctl configtest
Syntax OKを確認します。
sudo systemctl restart apache2.service
systemctl status apache2.service
active (running)を確認します。
/* --- フォントの定義 --- */ @font-face { font-family: 'kiloji'; font-style: normal; font-weight: normal; src: url('/fonts/kiloji/kiloji.woff2') format('woff2'), url('/fonts/kiloji/kiloji.woff') format('woff'), url('/fonts/kiloji/kiloji.ttf') format('truetype'); } @font-face { font-family: 'kiloji'; font-style: normal; font-weight: bold; src: url('/fonts/kiloji/kiloji_b.woff2') format('woff2'), url('/fonts/kiloji/kiloji_b.woff') format('woff'), url('/fonts/kiloji/kiloji_b.ttf') format('truetype'); } /* --- フォントの適用 (アイコンを壊さない修正版) --- */ body, .growi, .page-main, .wiki, .sidebar-content, h1, h2, h3, h4, h5, h6, p, li, .btn, a, input, textarea { font-family: 'kiloji', sans-serif !important; } /* 基本の文字サイズを改めて指定 */ body { font-size: 16px; }Ctrl + Shift + R)し、フォントが変わっていることを確認できれば作業完了です。今回、この手順がうまくいったのはひとえに「Apacheによるリバースプロキシ化」でした。
http://【growiサイト】:3000
のように、直接(Growiのような)nodeアプリに接続していたら、フォントファイルを透過させるかのようにアクセスさせることは難しかったでしょう。
BookStackの表示フォントを、サーバー内に配置したカスタムフォント(kiloji)に変更したときのメモです。
これには2つの目的があります。

www-data今回用いたのは手書きボールペンのようなフォント、きろ字。(フリーで使えるフォントです)
公式サイトからフォントファイル一式をダウンロードします。
使うフォントファイルは
となっています。ダウンロード後、サーバの適当な位置に格納します。
cd /path/to/bookstack/public && pwd
自分の環境に合わせます。(筆者環境 /home/www-data/BookStack/public)
sudo -u www-data mkdir -p fonts/kiloji
sudo -u www-data cp -pi /path/to/fonts/directory/kiroji*woff2 /path/to/bookstack/public/fonts/kiloji/
ls -l /path/to/bookstack/public/fonts/kiloji/
追加したフォントがあることを確認します。
ブラウザでBookStackにアクセスし、管理者権限でログインします。
設定>カスタマイズに移動します。
「カスタムheadタグ」のテキストボックスに、以下のCSSコードを貼り付けます。
<style>
/* --- フォントの定義 --- */
/* 1. 通常の太さのフォントを 'kiloji' として定義 */
@font-face {
font-family: 'kiloji';
font-style: normal;
font-weight: normal;
src: url('/fonts/kiloji/kiloji.woff2') format('woff2'),
url('/fonts/kiloji/kiloji.woff') format('woff'),
url('/fonts/kiloji/kiloji.ttf') format('truetype');
}
/* 2. 太字用のフォントを、同じ 'kiloji' という名前で定義 */
@font-face {
font-family: 'kiloji';
font-style: normal;
font-weight: bold;
src: url('/fonts/kiloji/kiloji_b.woff2') format('woff2'),
url('/fonts/kiloji/kiloji_b.woff') format('woff'),
url('/fonts/kiloji/kiloji_b.ttf') format('truetype');
}
/* --- フォントの適用 --- */
/* 1. ページ全体の基準となる文字サイズとフォントを指定 */
body {
font-family: 'kiloji', sans-serif !important;
font-size: 16px; /* ← この数値で大きさを調整 */
}
/* 2. 見出しやナビゲーションなど、個別にフォントが指定されている箇所にも適用 */
h1, h2, h3, h4, h5, h6, .btn, a, input, textarea,
.page-nav, .sidebar-page-nav a, .tri-layout-container, .chapter-contents, .book-contents a {
font-family: 'kiloji', sans-serif !important;
}
</style>
適用後、ページ下部の「設定を保存」ボタンをクリックします。
BookStackにアクセスし、指定したフォントに替わっていたら設定変更です。
以下は、bodyタグにのみフォントを指定した最初のコードです。見出しなど、個別にCSSが設定されている要素には適用されませんでした。
<style>
@font-face {
font-family: 'kiloji';
font-style: normal;
font-weight: normal;
src: url('/fonts/kiloji/kiloji.woff2') format('woff2');
}
@font-face {
font-family: 'kiloji';
font-style: normal;
font-weight: bold;
src: url('/fonts/kiloji/kiloji_b.woff2') format('woff2');
}
body {
font-family: 'kiloji', sans-serif !important;
}
</style>
Powered by WordPress & Theme by Anders Norén