RGB555を8ビットRGBチャンネルへ展開
パックされたRGB555の数値を通常のRGBに変換します。0x7C1Fは赤255、緑0、青255になります。各5ビット値は0〜255の範囲へ丸めて拡張されるため、レトロゲームの画像や機器のデータを実際の色として確認できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 値
- 0x7C1F
- 値
- 31,775
- Hex
- 0x7C1F
- Red
- 255
- 緑
- 0
RGB555からRGBへの展開ツールは、符号なし15ビットのパック色を、現在の8ビット処理で使える赤・緑・青の個別値へ変換します。10進文字列または0xで始まる16進文字列を受け付け、入力全体を検証して3つの5ビット領域を抽出し、それぞれを0から255へ拡張します。結果には元の5ビット成分と正規化した16進表記も残るため、変換結果の確認、比較、テスト、処理への組み込みを確実に行えます。
RGB555のビット配置を理解する
RGB555は15個の有効ビットに3つの色チャンネルを格納します。このツールでは、ビット14から10が赤、9から5が緑、4から0が青です。各領域は0から31の整数を表します。
入力値は符号なしで0から32767までに限られ、上位の16番目のビットを透明度、強度、パディングとして解釈することはありません。31775のような10進文字列、または0x7C1Fのように明示的な0xを付けた16進文字列を入力できます。出力には4桁へ正規化した16進表記、元の5ビット成分、拡張後の8ビットチャンネルが含まれます。
そのため、手作業でシフトやマスクを計算せずに、メモリダンプや形式仕様と結果を照合できます。
5ビットを8ビットへ拡張する方法
抽出後の各成分は、round(成分 × 255 ÷ 31)という式で8ビット範囲全体へ拡張されます。保存値0は0に、31は255になり、中間値も決定的に配置されます。これは数値範囲の拡張であり、元データに存在しない色情報の復元ではありません。
RGB555には各チャンネル32段階しかないためです。変換器によっては左シフトで最大248にしたり、ビットを複製したりするので、規則を明記しています。
実際の処理でパック色を検証する
レトロゲームの画像、組み込み画面、テクスチャ、バイナリレコード、エミュレーター状態、または最上位の5ビット領域を赤と定めるRGB555形式の調査に利用できます。BGR555はチャンネル順が逆で、RGB565は緑に6ビットを割り当てるため、自動推測は行いません。
不正な文字列、符号、小数、0xのない16進数字、末尾文字、符号なし15ビット範囲外の値は、部分的に解析せず拒否します。そのため123abcが密かに123になることはありません。ネットワーク、乱数、時計、ロケール依存解析、可変状態を使わないため、同じ有効入力からは常に同じ結果が得られます。
活用例
レトロゲームの色を調査
パックされたパレットを8ビットチャンネルへ変換し、デバッグ用の5ビット成分も保持します。
組み込み画面データを検証
RGB555のレジスターやバッファーを確認し、符号なし15ビット範囲を超える値を拒否します。
よくある質問
5ビットチャンネルはどのように拡張されますか?
各成分をround(成分 × 255 ÷ 31)で計算し、0から255の整数にします。
16進値を入力できますか?
はい。 0x7C1Fのように0xを付けてください。接頭辞のない16進数字は拒否されます。
RGB565やBGR555にも対応しますか?
いいえ。 ビットの割り当てや順序が異なるため、文書化されたRGB555配置だけを復号します。
ビット15はどう扱われますか?
0x7FFFを超える値は拒否されます。上位ビットをアルファやフラグとして解釈しません。
RGB555の最大値31はRGBでいくつになりますか?
255になります。各5ビット値に255を掛けて31で割り、四捨五入するため、0は0、31は255に対応します。左シフトで変換する方法では最大値が248にとどまります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/color/rgb555-rgb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"0x7C1F"}'const res = await fetch("https://api.kit.forhosting.com/color/rgb555-rgb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "0x7C1F"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb555-rgb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "0x7C1F"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb555-rgb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"0x7C1F"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"0x7C1F"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb555-rgb", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"value": "0x7C1F"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb555_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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
5ビットを8ビットへ拡張する方法
この機能は常に上記の式を使い、APIとブラウザーで安定したJSONを返します。red_5bit、green_5bit、blue_5bitも応答に残るため、マスクを検証したり、古い仕様に必要な別の拡張方式を後段で適用したりできます。
実際の処理でパック色を検証する
自動処理では1リクエストにつき1値を送り、名前付き数値フィールドを利用してください。APIの基本料金は1回$0.002です。
連携の活用例
復号済み色レコードを準備
16進値または10進値を、テスト、移行、分析で使える名前付き数値フィールドへ変換します。
技術的な質問
このツールのビット順はどのようになっていますか。
赤はビット14–10、緑は9–5、青は4–0を使用します。