色を暖色・寒色寄りに調整
このツールは、再現可能な単純なRGB演算によって、16進カラーの見た目の色温度を調整します。正の値では赤を増やして青を減らし、負の値ではその逆を行います。緑は変更せず、結果はすべて0から255の有効範囲に収めます。予測可能なパレットの派生色、再現性が必要なデザイントークンの変更、監査しやすい変換に適しています。主観的な色モデルやケルビン値からの近似変換には依存しません。
無料で実行
色と符号付きの調整値を指定します
最初に、3桁または6桁の16進カラーを入力します。先頭の番号記号はあってもなくても構いません。短縮表記は計算前に展開されるため、#69Cは#6699CCとまったく同じ色として扱われます。次に、-255から255までの整数を指定します。正の値を指定すると、赤にその値を加え、青から同じ値を引くため、暖色寄りになります。負の値では赤が減り、青が増えるため、寒色寄りになります。0の場合は正規化した元の色を返し、方向は変更なしと表示します。緑のチャンネルは意図的に保持します。この限定された規則により、デザインシステムでも説明、テスト、再実行が容易です。物理的な光源を再現するものでも、ケルビン値を変換するものでもありません。変化を目で確認でき、ブラウザーとAPIで同一の計算結果が得られる、制御されたチャンネル調整です。わずかな派生色には絶対値の小さい値を、はっきりした暖色・寒色の印象には大きい値をご利用ください。
範囲制限と決定的な出力を理解します
RGBの各チャンネルは0未満にも255より大きくもできないため、調整後の赤と青はこの有効範囲内に制限されます。たとえば、赤がすでに255に近い色を暖色寄りにすると、無効な大きな数値にはならず、赤は255で止まります。一方、青は0に達するまで減少します。寒色寄りの場合は反対の規則が適用されます。範囲制限がない単純計算では、オーバーフローや無効なカラーコードが発生することがあります。このツールでは制限を仕様の一部として明示し、端の値でも安全で予測可能な結果を返します。出力には、正規化した元の16進カラー、大文字6桁の変換後カラー、符号付き調整値、方向、最終的なRGB値が含まれます。ネットワーク、乱数、現在時刻、カラープロファイル変換、隠れた状態は計算に影響しません。同じ入力からは必ず同じ出力が得られます。調整値は有限の整数に限られ、小数、数字の文字列、無限値、未指定、範囲外の値は、丸めずにエラーとして扱います。
実際の配色作業に活用します
決定的な色温度調整は、不透明な手作業を追加せずに関連色を作りたい場合に便利です。秋向けの制作物ではアクセントカラーを暖色寄りにし、画面の状態色ではニュートラルカラーを寒色寄りにできます。また、テーマのプレビュー用に対になる派生色を生成することも可能です。緑を保持し、上限または下限に達するまで赤と青を対称に変更するため、確認する方は短い規則から結果を再現できます。手動のカラーピッカー操作を再現しにくいスクリプト、トークンの処理工程、スナップショットテスト、コンテンツ生成にも適しています。強さを比較する場合は、同じ基準色に異なる整数を指定し、返された調整値を各結果と一緒に保存してください。これはRGB上の見た目を変える処理であり、色順応や知覚的に均等な調整ではありません。同じ値でも、チャンネルが範囲の端に達するかどうかによって、色ごとの変化量が違って見える場合があります。厳密な色彩科学が必要な場合は、管理された色空間を扱う適切な手法をご利用ください。一般的な16進カラーを素早く透明性のある規則で暖色・寒色寄りにする用途に、この計算が適しています。
活用例
テーマの暖色版と寒色版を作成
共通のデザイントークンに符号付きの値を適用し、検証可能な同一規則で両方の派生版を作れます。
キャンペーンのアクセント色を調整
季節感のある制作物では既存色を暖かくし、落ち着いた表現では寒色寄りに変更できます。
再現可能な色変更を自動化
ビルドスクリプト、テスト、素材のメタデータで同じ整数を使い、手動操作を不要にします。
よくある質問
正の調整値では何が変わりますか?
赤に値を加え、青から値を引き、緑は保持します。結果の方向は暖色寄りと表示されます。
寒色寄りにするにはどうすればよいですか?
負の値を指定してください。その絶対値だけ赤が減り、青が増えます。
チャンネルが範囲を超える場合はどうなりますか?
調整後の赤と青は0–255に制限されるため、必ず有効なRGBカラーになります。
ケルビンの色温度を変換するツールですか?
いいえ。既存の16進カラーのRGBチャンネルを決定的に調整するもので、物理的な光源は再現しません。
調整値に小数を指定できますか?
できません。-255から255までの有限の整数を指定してください。無効な値はエラーになります。
APIの利用料金はいくらですか?
APIリクエスト1回につき$0.002です。ブラウザー版では同じ決定的な計算をローカルで実行します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/color/temperature-shift \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#6699CC","shift":32}'const res = await fetch("https://api.kit.forhosting.com/color/temperature-shift", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#6699CC",
"shift": 32
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/temperature-shift",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#6699CC",
"shift": 32
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/temperature-shift", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#6699CC","shift":32}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#6699CC","shift":32}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/temperature-shift", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"color": "#6699CC",
"shift": 32
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.temperature_shift",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |