RGB565からRGBへの変換
16ビットのRGB565値を普通の色として読み取れます。0xF800(63488)は純粋な赤で、255, 0, 0、#FF0000になります。赤5ビット、緑6ビット、青5ビットをそれぞれ全範囲へ拡張し、元の値も表示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 値
- 0xF800
- 値
- 63,488
- RGB565 (16進)
- 0xF800
- Red5
- 31
- 緑 (6ビット)
- 0
このRGB565からRGBへの変換ツールは、16ビットのコンパクトな色値を一般的な8ビットの赤・緑・青チャンネルへ展開します。入力が符号なし16ビット範囲の整数であることを確認し、赤の5ビット、緑の6ビット、青の5ビットを分離してから、各チャンネルを0から255まで決定論的に拡大します。
RGB565のビット配置を理解する
RGB565は、通常の8ビットRGBが使用する24ビットではなく、16ビットで1色を保存する形式です。上位5ビットが赤、中央の6ビットが緑、下位5ビットが青を表します。人間の視覚はスペクトルの緑付近の変化を特に捉えやすいため、緑には1ビット多く割り当てられています。
このツールは整数をシフトしてマスクを適用し、赤を0から31、緑を0から63、青を0から31の値として取り出します。その後、低いビット深度の成分と拡張後の成分を並べて返します。4桁の16進表記は常にゼロ埋めされるため、先頭のゼロを失わず、比較も容易です。
低ビットの成分を8ビット値へ拡大する方法
低ビットのチャンネルには元の8ビット値を完全に復元できるだけの情報が残っていないため、展開結果は必ず近似値になります。本ツールは明示的な比例スケーリングを行い、最も近い整数へ丸めます。赤と青は成分を255倍して31で割り、緑は255倍して63で割ってから丸めます。
このため端点は正確に対応し、0は0のまま、各成分の最大値は255になります。中間値も乱数や実行環境の差に左右されず、8ビットの全範囲へ分配されます。この規則はJavaScript、C、Rust、Python、表計算ソフトで再現でき、出力された成分から各工程を確認できます。
ビット反復で拡張するシステムもありますが、結果が必ず一致するとは限りません。本ツールでは比例規則を固定して明記し、テストや言語間比較の再現性を保ちます。
有効な値を入力して結果を利用する
符号なしRGB565値を1つ入力してください。10進数なら63488、16進数なら必須の0xを付けて0xF800のように記述します。16ビットに収まる範囲は0から65535までです。
負数、小数、接頭辞のない16進文字、末尾の余分な文字、配列、仕様外のオブジェクトは、部分的に解釈せず拒否します。この厳密な検証により、65536がオーバーフローで黒に戻り、上流のデータ不備を隠す事態を防ぎます。
正常な出力には、正規化した10進値、ゼロ埋めしたRGB565の16進値、元の5/6/5成分、拡大したr・g・b、rgb()文字列、6桁のRGBカラーコードが含まれます。画像処理コードへの入力、デバッグ時の色比較、変換記録の保存などに利用できます。
活用例
バイナリ画像アセットを解析
16ビットのピクセル語を8ビットチャンネルへ展開し、診断、プレビュー、決定論的変換に使えます。
複数言語向けのテスト値を作成
パック値と拡大値を明示し、アプリ、デバイス、テスト間でRGB565実装を比較できます。
よくある質問
どの入力形式に対応していますか?
0から65535までの10進数、または0xを先頭に付けた16進数を使用します。例は63488と0xF800です。
緑だけが6ビットなのはなぜですか?
RGB565は緑に6ビット、赤と青に5ビットずつ割り当て、16ビット内で緑の階調を細かくしています。
元の8ビット色を完全に復元できますか?
できません。 パック時に下位情報が失われています。返される値は0から255へ拡大した決定論的な近似です。
チャンネルをどのように拡大しますか?
赤と青はround(成分 × 255 ÷ 31)、緑はround(成分 × 255 ÷ 63)を使用します。
65536を入力するとどうなりますか?
受け付けられません。RGB565は16ビットに収まる必要があり、範囲は0〜65535です。大きな数値を黒に丸めず拒否するため、元データの誤りに気づけます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/color/rgb565-rgb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"0xF800"}'const res = await fetch("https://api.kit.forhosting.com/color/rgb565-rgb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "0xF800"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb565-rgb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "0xF800"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb565-rgb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"0xF800"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"0xF800"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb565-rgb", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"value": "0xF800"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb565_rgb",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
10進数、または0xを先頭に付けた16進数を入力すると、元のパック値、各ビットフィールド、RGB文字列、6桁の16進カラーを取得できます。
RGB565のビット配置を理解する
表示可能な色が必要な開発者にも、ファームウェア、組み込みフレームバッファ、バイナリアセット、デバイスプロトコルに保存された正確なフィールドを調査する技術者にも役立ちます。
有効な値を入力して結果を利用する
自動化されたAPIリクエストの料金は1回$0.002です。
連携の活用例
組み込みディスプレイの色を調査
ファームウェアやフレームバッファの定数をRGB値へ変換し、元の5/6/5フィールドも確認できます。
技術的な質問
範囲外の値を指定するとどうなりますか?
ラップ、切り捨て、余分なビットの解釈は行わず、invalid_inputエラーを返します。
API変換の料金はいくらですか?
APIリクエストは1回$0.002です。ブラウザーでは対話形式でも実行できます。