16進を%で暗く
ブランドの十六進カラー1つから、決まった割合でホバー時や押下時の色を作れます。#4A90D9を20 %暗くすると#2873C0になり、同じ青のままです。明度は比例して下がり、黒で止まります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 色
- #4A90D9
- パーセント
- 20
- 元の値
- #4A90D9
- Hex
- #2873C0
デザイナー、フロントエンドエンジニア、デザインシステムの作者は、ホバー状態、境界線、影、明るい背景上で読みやすいテキストのために、ブランドカラーの暗い陰影を絶えず必要とします。目分量で新しい16進を推測するのは遅く、ツール間で一貫しません。この機能は16進カラーと0から100までの暗色化パーセントを受け取り、色をHSLに変換し、明度に1からそのパーセントを引いた値を掛け、結果を黒にクランプし、RGBとHSLの内訳とともに暗くした16進を返します。0パーセントは元の色を保ち、100パーセントは黒になります。
HSLでパーセント暗色化とは何を意味するか
ウェブ上の色はしばしば16進やRGBとして保存されますが、知覚的な陰影のステップはHSLのほうが扱いやすくなります。色相が色合いを、彩度が純度を、明度がサンプルがどれだけ黒や白に近いかを保持します。パーセントで暗くするとは、色相と彩度を固定したまま明度を下げることを意味するので、ブランドの青は青のまま、ただ深くなります。
このツールは現在の明度に、1からパーセントを100で割った値を引いたものを掛け、その後明度が0を下回らないよう結果をクランプします。0パーセントでは明度は変わらないので、出力は正規化された入力16進に一致します。50パーセントでは明度が半分になります。
100パーセントでは明度がゼロになり、開始時の色相に関係なく結果は純粋な黒になります。この相対モデルは、多くのデザイントークンが対話状態をスケールする方法に一致します。すなわち、単一の基本トークンに、ホバーや押下のための暗色化係数を加える形です。
明度ポイントの絶対的な減算は、すでに暗い色ではオーバーシュートしかねません。黒クランプ付きの相対スケーリングは常に範囲内にとどまり、負の明度を決してでっち上げません。
入力の契約: 16進カラーと0〜100のパーセント
colorは短縮形または完全形の16進文字列として渡してください。#RGBまたは#RRGGBBで、先頭のハッシュはあってもなくてもかまいません。短縮形はチャンネルごとに展開され、#F0Aは変換前に#FF00AAになります。
−10、101、数値でないテキストのような値は拒否されます。検証の失敗は課金されません。利便性のため別名も受け付けます。
丸めは決定論的なので、同じ組を再実行してもぶれません。陰影を変えずに短縮16進を正規化・展開するにはpercent0を、部分的な暗色化と同じコード経路から真の黒のアンカーが必要なときはpercent100をお使いください。トークンパイプラインを一貫させるのに役立ちます。
1色だけでも、状態ごとの色一式でも
一度きりの確認、たとえば主要な青がボタンのホバーできれいに暗くなるか、20パーセントのステップでも白に対するコントラスト目標を満たすかの確認には、このページの無料のブラウザ内ツールをお使いください。0から100の範囲外の不正なパーセントや不正な形式の16進はプリペイド残高を消費しません。
変換の内側にネットワーク呼び出しはなく、モデルもクロック依存もないので、結果はエッジで安全でキャッシュ可能です。すでに別のカラーコンバーターで形式を変換しているなら、HEX–RGB–HSLの往復にはそれを残し、検索意図が具体的にパーセントによる暗い陰影であるときにこの暗色化ツールをお使いください。
暗色化のあとにCMYKエクスポートが必要なら両方をパイプラインで組み合わせますが、暗色化ステップ自体は16進の入力と、100パーセントで黒にクランプされた構造化色の出力だけで済みます。
活用例
UIのホバー・押下状態
単一のブランド16進から、より暗いボタンやリンクの陰影を導き、各見本を手で選ばずにホバーやアクティブのスタイルをコンポーネント間で一貫させます。
メールとPDFのブランドアクセント
静的な色しか受け付けず描画時にHSLを計算できないテンプレート向けに、境界線や見出し用の暗いアクセント16進を事前計算します。
よくある質問
パーセント暗色化はどんな入力を受け付けますか?
16進カラー(#RGBまたは#RRGGBB、#は任意)と0から100までのpercentです。
暗い色はどう計算されますか?
16進はHSLに変換され、明度に(1 − percent/100)が掛けられて0(黒)にクランプされ、その後16進、RGB、HSLに戻されます。色相と彩度は同じままで、percent100は黒になります。
これはカラー形式コンバーターと同じですか?
いいえ。 コンバーターは陰影を変えずに表現(HEX、RGB、HSL)を変えます。このツールは明度をパーセントで下げて黒にクランプすることで、具体的に色を暗くします。
成功するとどんな結果が返りますか?
整えた元のカラーコード、暗くした色のコード、指定したパーセント、0~255のRGB値、暗くした後の色相・彩度・明度が返ります。同じ入力なら結果は変わりません。
明度を一定量引くのではなく割合で下げるのはなぜですか?
一定量を引くと、もともと暗い色では下げすぎることがあります。割合で下げれば常に範囲内に収まり、50 %で明度は半分、100 %で黒になり、負の値にはなりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/color/darken-percent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#4A90D9","percent":20}'const res = await fetch("https://api.kit.forhosting.com/color/darken-percent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#4A90D9",
"percent": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/darken-percent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#4A90D9",
"percent": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/darken-percent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#4A90D9","percent":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#4A90D9","percent":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/darken-percent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"color": "#4A90D9",
"percent": 20
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.darken_percent",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
0から100の範囲外の値や不正な16進文字列は明確なinvalid_inputエラーで拒否されます。手早く見本を作るには無料のブラウザツールを、パイプラインでパレットを生成するときは成功リクエストごとに$0.002のAPIをお使いください。
入力の契約: 16進カラーと0〜100のパーセント
不正な文字、誤った長さ、空文字列、文字列でない値はinvalid_inputで失敗し、当該フィールド名を挙げたメッセージが返ります。percentフィールドは必須で、0から100まで(両端を含む)の有限な数でなければなりません。色にはhex、from、text、パーセントにはamount、pct、percentageです。成功時のレスポンスには、正規化された大文字6桁16進としてのoriginal、暗くした結果としてのhex、送った数値のpercent、0から255までの整数チャンネルを持つrgb、そして暗色化ステップ後の色相を度で、彩度と明度を0から100の尺度で持つhslが含まれます。
どこで実行するか: 無料のブラウザツールか自動化APIか
同じ純粋関数は、テーマ生成器を作るとき、デザイントークンをCSSカスタムプロパティにエクスポートするとき、あるいはクライアントスクリプトを実行できないメールテンプレート用に陰影の階段を事前計算するときにAPIを動かします。成功した各API呼び出しは$0.002です。このエンドポイントをFigmaプラグインのブリッジ、状態色をプレビューするStorybookアドオン、あるいは明るい基本パレットからダークモードのサーフェスを具現化するサーバーステップに組み込んでください。
連携の活用例
デザイントークンの陰影階段
基本パレットの色に固定の暗色化パーセントをCIで適用し、CSS変数やテーマJSON用の段階的な暗いバリアントを生成します。
技術的な質問
成功レスポンスには何が含まれますか。
original(正規化された入力16進)、hex(暗くした結果)、percent、rgb {r,g,b}、そして暗色化後のhsl {h,s,l}です。
APIの料金はいくらですか。
成功リクエストごとに$0.002です。ブラウザツールは無料です。不正な入力は課金されません。