LAB→RGB変換
明度53.2407941413、a 80.0924595964、b 67.2031965159のLAB色は、rgb(255, 0, 0)、つまり純粋な赤#FF0000になります。ブランドブックのLAB目標値を、毎回同じ結果で画面の色に移せます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- L
- 53.2407941413
- A
- 80.0924595964
- Lab b
- 67.2031965159
- 明度 (L*)
- 53.2407941413
- a*値
- 80.0924595964
- b*値
- 67.2031965159
- 抵抗(Ω)
- 255
このLAB→RGB変換ツールは、CIE L*a*b*の3成分—0から100までの明度L*、緑–赤軸のa*、青–黄軸のb*—を受け取り、Webで標準のD65白色点のもとで0から255までのsRGBチャンネル整数を返します。ブランドや印刷ワークフローがLab目標を保持する一方で、製品UI・CSS・デザイン・トークンには8ビットの赤・緑・青が必要なときに、デザイナー、印刷エンジニア、学生がこの写像を使います。エンジンは完全に決定的です。CIE Labのピボットを反転してXYZへ戻し、D65のsRGB逆行列を掛け、前向きのsRGBガンマを適用し、各チャンネルを丸めてクランプします—ネットワーク呼び出し、乱数、時計への依存はありません。
Lab→RGB変換の意味と応答に含まれる内容
CIE L*a*b*は色刺激を明度軸L*(黒は0、D65下の拡散白はおおよそ100)と2つの色度軸に並べ替えます。a*は緑が負・赤が正、b*は青が負・黄が正です。ディスプレイとCSSの作業には依然として8ビットのsRGBチャンネルが必要なため、本計算機は通常のグラフィックス・パイプラインを逆にたどります。
まずCIEの逆ピボットとD65基準白でL*・a*・b*から相対XYZを再構成し、次に標準のD65 sRGB行列の逆を掛けて線形の赤・緑・青光を得ます。前向きのsRGBコンパandingがブラウザのガンマ曲線を復元し、各単位チャンネルは255倍され、最も近い整数に丸められ、0から255にクランプされます。
Infinity・NaN・空文字列の黙認はありません。RGB→Lab、hex梱包、HSV、HSL、CMYKが必要な場合は専用の逆方向または多形式ツールを使ってください。
活用例
印刷Lab目標から画面RGBへ
ブランドまたはプルーフのCIE L*a*b*値を、CSS・トークン・関係者プレビュー用のsRGBチャンネルとhexに変換します。
決定的なテスト用フィクスチャ
色ヘルパーの単体テスト、プロパティ検査、CIアサーション向けに再現可能なRGB結果を生成します。
課題と教材デモ
学生のLab→sRGB作業を確認し、不透明な電卓アプリなしでXYZとD65逆変換をライブ実演します。
よくある質問
LABのL*、a*、b*は何を表しますか?
L*は黒から拡散白までの明度です。a*はマイナス側が緑、プラス側が赤、b*はマイナス側が青、プラス側が黄を表します。
LAB 53.2407941413、80.0924595964、67.2031965159はRGBで何色ですか?
rgb(255, 0, 0)の純粋な赤で、hexでは#FF0000です。このLAB値は画面の最大の赤から得られる値なので、逆に変換すると同じ赤に戻ります。
画面で表示できないLAB色はどうなりますか?
各チャンネルは0–255の範囲に収められるため、使える色が必ず返ります。結果には色域外の印が付き、切り詰めた近似値であることが分かります。
変換にはどの白色点を使いますか?
sRGBの画面とWebで標準のD65(昼光の白)です。別の白色点で測ったLAB値は、先にD65へ換算しないと色がずれます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/color/lab-rgb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"l":53.24,"a":80.09,"lab_b":67.2}'const res = await fetch("https://api.kit.forhosting.com/color/lab-rgb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"l": 53.24,
"a": 80.09,
"lab_b": 67.2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/lab-rgb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"l": 53.24,
"a": 80.09,
"lab_b": 67.2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/lab-rgb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"l":53.24,"a":80.09,"lab_b":67.2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"l":53.24,"a":80.09,"lab_b":67.2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/lab-rgb", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"l": 53.24,
"a": 80.09,
"lab_b": 67.2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.lab_rgb",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
l_min | 0 |
l_max | 100 |
a_min | -160 |
a_max | 160 |
lab_b_min | -160 |
lab_b_max | 160 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
宣言された範囲外の成分は明確なinvalid_inputエラーで拒否され、sRGB色域外の色は最も近い表示可能なチャンネル集合へクランプされ、out_of_gamutでフラグ付けされるため、呼び出し側はクリップを確認できます。パレット作業や課題ではブラウザで無料でお使いいただき、CI・デザインシステム・教材デモで同一のフィクスチャが必要なときは、成功したリクエストごとに$0.002でAPIを呼び出してください。
Lab→RGB変換の意味と応答に含まれる内容
応答は検証済みのl・a・lab_b(およびL_star・a_star・b_starエイリアス)、整数チャンネルr・g・b、安定したJSONのための丸め済み中間X Y Z、hex文字列、rgbとlabの要約文字列、真偽値のout_of_gamut、D65に設定されたwhite_point、メソッドタグlab_to_rgb、短い式のメモを返します。Labのb*は出力では常にlab_bまたはb_starと名付けられ、RGB青チャンネルのフィールドbと衝突しません。欠落または範囲外の成分はinvalid_inputで失敗します。このページはD65下のCIE Labから、トークン・単体テスト・API利用者向けに安定したsRGB三組だけに答えます。
l・a・lab_bの読み方とRGBの再現性の保ち方
文字列数値の外側の空白はトリムされ、トークンが有限小数であれば科学的記数法も許可されます。素のJavaScript数値は有限かつ宣言範囲内のときだけ受け入れられます。L*は0から100、a*とb*は±160以内である必要があります。純白のLabは三チャンネルとも255、純黒は0、フル赤sRGBの逆から来る純赤Lab三組は丸めの範囲内で255・0・0に戻ります。推奨フィールドはL*用のl、a*用のa、b*用のlab_bですが、明度にはL・L_star・lightness、a*にはa_starと大文字A、b*にはb_star・b・大文字Bのエイリアスを受け入れるため、スプレッドシート・クエリ文字列・型付きフォームが列名を変えずに同じ契約を再利用できます。範囲外の値はフィールド名と許容範囲を示すメッセージで失敗し、Lab側ではクランプされません—クランプは色が表示色域外のとき最終sRGBチャンネルにのみ適用されます。Lab逆変換とsRGBガンマを自ら再実装せずに自動パイプラインで同一の数学的結果が必要なときは、このページの無料ブラウザ実行と有料APIを組み合わせてください。
デザイン・学習・ソフトウェアにおけるLab→RGB変換の位置づけ
ブランドガイドや印刷仕様がLab目標を列挙し、製品UIがCSSのrgb()やhexスウォッチを期待するとき、デザインシステムがLab参照と画面RGBを並べて文書化するとき、Labでのカラーマネージド編集後に標準sRGBディスプレイでパレットをプレビューする必要があるとき、デザイナーはこの写像に出会います。アクセシビリティや研究の流れでは均一性のためにLabで計算し、納品時にsRGBへ戻すこともあります。学生はsRGBの後にXYZとLabを導入するコンピュータグラフィックス・色彩科学の授業、Lab調整とチャンネルスライダーを行き来するデジタル写真の授業、短い三組の暗算変換を求める面接のウォームアップで逆経路を見ます。順方向が必要ならRGB→Labと、同じ数値まわりのhexやCMYK梱包が必要なら多形式カラーツールと組み合わせてください。印刷・パッケージチームはLab測定やプルーフ値を概算の画面プレビューに逆変換し、真の色がわずかに色域外でも関係者がモニタ上のおおよその一致を見られるようにします—out_of_gamutフラグはプレビューがクランプされたことを示します。APIでは成功した照会ごとに$0.002がかかり、失敗した検証は課金されず、応答後に何も保存されません。無料の対話的探索と有料で同一のAPIという分割はKITのtier Aカタログの他項目と一致し、教室デモやデザインレビューから数学的結果を変えずに自動化パイプラインへ進めます。
技術的な質問
LAB→RGB変換ツールの料金は?
このページではブラウザで無料です。APIでは成功したリクエストが$0.002で、無効な入力は課金されません。
L*・a*・b*に許される範囲は?
L*(フィールドl)は0から100まで(両端含む)です。a*とlab_b(b*)はそれぞれ−160から160の間です。範囲外の値、非有限数、欠落フィールドはinvalid_inputで拒否されます。
どの白色点を使いますか?
基準白Xn=0.95047、Yn=1.0、Zn=1.08883の照明D65で、標準のsRGBおよびWeb色の慣行に一致します。応答にはwhite_point: "D65"が含まれます。
out_of_gamutとは何ですか?
一部のLab色はsRGBで表現できません。チャンネルは0–255にクランプされ、out_of_gamutがtrueになるため、表示可能なRGBが要求Labの近似であることが分かります。
なぜLab b*はlab_bと呼ばれるのですか?
出力フィールドbはRGBの青チャンネルです。Lab b*はlab_bおよびb_starとして受け取り・返すため、RGB青チャンネルを上書きしません。