アスペクト比計算ツール
1920×1080は16:9に約分でき、小数では1.7778です。幅を1280にすると、高さ720で形を崩さずに縮小できます。幅と高さを入れるだけで、動画や画面、画像の形式を書き出し前に確認できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 幅
- 1,920
- 高さ
- 1,080
- 比率の幅
- 16
- 比率の高さ
- 9
- アスペクト比
- 16:9
- 小数値
- 1.7778
幅と高さをピクセル(または任意の単位)で受け取り、16:9 のような簡約された整数比、幅/高さの小数比を返します。
16:9のような比の求め方
アスペクト比は、画像や画面の大きさではなく形を表します。計算機は幅と高さを、両方を割り切れる最大の整数、つまり最大公約数で割って比を求めます。1920と1080なら16と9が残り、16:9と書きます。小数の形も示し、これは幅を高さで割った値で、初期設定の小数点以下4桁では1.7778です。既知の形式の表は使わないため、ピクセルでも別の単位でも、どんな組み合わせも同じ方法で約分され、珍しい画面でも正確な比が分かります。
形を崩さずにサイズを変えるときの注意
形を変えずにサイズを変えるには、新しい辺を1つだけ入力し、もう一方を計算させます。元が1920×1080で納品の幅が1280なら、対応する高さは720です。指定できるのは新しい幅か新しい高さのどちらかで、両方は指定できません。約分の前には幅と高さの小数部分を切り捨てますが、小数の比は入力したとおりの値で計算します。動画を書き出す前や画像を切り抜く前に、解像度が本当に16:9か4:3かを確かめるのに役立ちます。
活用例
動画とディスプレイの合わせ込み
エンコードの前に解像度が 16:9 や 4:3 に約分できることを確認し、マスターフレームを配信幅に拡大しつつ正確な比例高さを保ちます。
よくある質問
整数でない幅はどう扱われますか?
gcd による約分は各辺を整数部分に切り捨てます。一方、小数の比は元の浮動小数点の幅と高さから計算されます。
丸めはどのように行われますか?
decimals の値(0 から 8、既定 4)まで明示的な half-up 規則で丸めます。
新しい幅に変えるとき、比率を保つにはどうしますか?
新しい幅を入力すると、新しい幅×元の高さ÷元の幅で高さを計算します。1920×1080の画像を幅1280にするなら、必要な高さは720です。
新しい幅と高さを同時に指定できますか?
できません。どちらか一方だけを入力すると、もう一方を計算して形を保ちます。両方を同時に入れると、一方だけにするよう求める案内とともに受け付けません。
16:9や4:3のような定番の比しか分かりませんか?
いいえ。決まった形式の一覧は使わず、どんな幅と高さも最大公約数で割って約分します。ピクセル以外の単位でも使え、珍しいサイズでも正確な比が出ます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/aspect-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1920,"height":1080}'const res = await fetch("https://api.kit.forhosting.com/dev/aspect-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1920,
"height": 1080
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/aspect-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1920,
"height": 1080
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/aspect-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1920,"height":1080}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1920,"height":1080}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/aspect-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"width": 1920,
"height": 1080
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.aspect_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
さらに target_width または target_height を渡すと、同じ比率を保ったまま拡大縮小した対応寸法も返します。
比がどのように約分されるか
コアは幅と高さを数値として読み取り、それぞれを絶対値の整数部分(wi と hi)に切り捨て、ユークリッドの最大公約数ルーチン gcd2 でこの組を約分します。約分は切り捨て後の整数に対して実行されるため、小数の入力は gcd の手順の前に切り捨てられますが、小数の比は元の浮動小数点値から計算されます。両辺をその gcd で割ると ratio_w と ratio_h が得られ、1920 と 1080 が 16:9 にまとまるように ratio 文字列へ結合されます。約分された組と並んで、このツールは width を height で割って要求された精度に丸めた decimal も返しますので、1920/1080 は既定の小数 4 桁で 1.7778 になります。出力の各フィールド ratio_w、ratio_h、ratio、decimal はすべて、これら 2 つの演算から直接得られ、参照テーブルやあらかじめ用意した比の一覧は使いません。
目標の幅または高さへの拡大縮小
2 つのうち一方だけを指定できます。新しい幅が分かっていて比例する高さが必要なときは target_width を渡してください。ツールは scaled_width をあなたの target_width に設定し、scaled_height を target_width × height ÷ width として計算し、指定の小数桁に丸めます。代わりに target_height を渡すと逆の処理を行い、scaled_width を target_height × width ÷ height として導き、scaled_height はあなたの目標をそのまま返します。target_width と target_height の両方を同時に指定した場合は、一方だけを指定するよう促すメッセージを伴う invalid_input エラーで拒否されます。これは 1920×1080 のフレームを幅 1280 にリサイズして、歪みを生じない正確な高さ 720 を読み取ったり、形状を保ったまま画像を固定幅の段に収めたりするときに使うフィールドです。両方の目標フィールドを省略すると、出力は scaled_ の組を持たず、単に比と小数を返します。
検証・上限・丸め
幅と高さはそれぞれ 0 より大きく 1e12 以下の有限な数でなければなりません。任意の decimals パラメータは 0 から 8 までの整数で、既定は 4 です。範囲外の値はクランプではなく拒否されます。0、負数、NaN、数値以外を含め、この範囲を外れるものは、問題のフィールド名を示す型付きの invalid_input エラーを送出します。そのため decimal と拡大縮小の結果は API のオラクルとビット単位で一致します。
連携の活用例
レスポンシブな画像レイアウト
コンテナ幅を target_width として与え、素材の形状を保つ高さを得ることで、CMS でのレターボックスや引き伸ばされたサムネイルを避けます。
API による一括検証
メディアライブラリ全体に対してエンドポイントを呼び出し、決定的な JSON を信頼できる基準として、ratio_w:ratio_h が意図した比からずれているファイルを洗い出します。
技術的な質問
1920×1080 はどの比を返しますか?
16:9 で、ratio_w は 16、ratio_h は 9、decimal は既定の小数 4 桁で 1.7778 です。
target_width と target_height の両方を設定できますか?
いいえ。多くても一方だけを指定してください。両方を送ると、目標寸法を 1 つだけにするよう求める invalid_input エラーが返ります。
ブラウザの widget は無料ですか?
はい、ページ上の widget は無料です(tier A)。API 経路は前払いの KIT 残高で $0.002 から動作し、成功したタスクのみ課金されます。