def fit_box(image_width, image_height, box_width, box_height):
values = (image_width,image_height,box_width,box_height)
if any(type(v) is not int or not 1 <= v <= 1000000 for v in values):
raise ValueError("dimensions 1 through 1000000")
if image_width*box_height > image_height*box_width:
width, height = box_width, image_height*box_width//image_width
else:
width, height = image_width*box_height//image_height, box_height
if not width or not height: raise ValueError("subpixel result")
return (box_width-width)//2, (box_height-height)//2, width, heightプロジェクト
縦長、横長、奇数の余白を試し、サブピクセルの結果を拒否して中央配置前に寸法を切り捨てます。
適用前に確認
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
モデル
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
def fit_box(image_width, image_height, box_width, box_height):
values = (image_width,image_height,box_width,box_height)
if any(type(v) is not int or not 1 <= v <= 1000000 for v in values):
raise ValueError("dimensions 1 through 1000000")
if image_width*box_height > image_height*box_width:
width, height = box_width, image_height*box_width//image_width
else:
width, height = image_width*box_height//image_height, box_height
if not width or not height: raise ValueError("subpixel result")
return (box_width-width)//2, (box_height-height)//2, width, height画面全体の中で画像サイズをレビューする
FitLumenは、接続したAIモデルとレイアウト関連のソフトウェア変更を検討するWindows向けコーディング環境です。プロジェクトフォルダーを開き、正しく見えない画像配置を説明してください。生成される寸法とアプリケーションでの使い方の両方を反映した編集案になるよう、関連する計算コードと描画コードを一緒に確認するよう依頼します。
fit_box.pyの例を起点に、限られた領域内で画像の縦横比を保つ作業を検討できます。代表的な元画像のサイズ、配置先のサイズ、余白の期待する扱いをアシスタントに示します。その上で、丸めと非常に小さな結果が呼び出し側にどう影響するか尋ねてください。これは環境内で進められるプロジェクト調査であり、例は具体的な出発点です。画像処理サービスが含まれるという意味ではありません。
制約のないAIモデルは、そのモデルを提供する対応済みのOpenAI互換またはAnthropicのエンドポイント経由で選択できます。サーバーのツールとコンテキスト容量を考慮し、接続と必要な認証情報を設定してください。編集案をレビューし、縦長と横長のケースをテストしてアプリケーション出力を確認します。サイズ計算が正しいだけでは不十分です。意図した画面になるには、周囲のレイアウトもオフセットと寸法を一貫して解釈する必要があります。
画像サイズの変更を確認する
レイアウトの不具合にはどの寸法を添えるべきですか?
元画像の寸法、利用可能な領域のサイズ、実際の描画位置を示してください。画像全体を収めたいのか、切り抜いて領域を埋めたいのかを明示します。異なる要件なので、曖昧な依頼から推測させるべきではありません。
幅と高さだけでなくオフセットも確認するのはなぜですか?
サイズが正しくても、呼び出し側による位置の解釈が異なれば配置がずれるためです。座標の原点と中央配置の期待を一緒に確認します。余白がどの軸に出るか分かるよう、正方形でない例を含めてください。
丸めでサイズがゼロになる場合は?
アプリケーションが拒否するのか、別の表現を使うのか指定してください。補助関数を変える前に呼び出し側の対応を確認します。黙って補正すると予期せぬ変形を生み、拒否を処理しなければ画面に役立つ通知が出ない可能性があります。
数値テストはレイアウトの目視確認の代わりになりますか?
計算の動作は検証できますが、描画の前提すべては検証できません。関連テストを実行し、代表的な画面を確認してください。余白、拡大縮小、呼び出し側での寸法の二重適用など、補助関数自身の計算の外側に見た目の不具合が残り得ます。
FitLumen · 更新日 2026-10-25