ForHosting KIT · 開発者向けツール

YIQからRGBへの変換

このYIQからRGBへの変換ツールは、NTSC色モデルの輝度と2つの色差成分を、実用的な赤・緑・青の値へ変換します。固定の逆行列を適用し、正規化値と8ビット値の両方を返すほか、表示可能なRGB範囲に収めるために切り詰めたチャンネルを明示します。計算前に厳密な検証を行い、欠落値、数値でない値、無限値、許容範囲外の値を拒否します。ネットワークを使わないため、同じY、I、Qには常に同じ結果が得られます。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

正規化YIQ成分を正しく入力します

数値の3成分を指定してください。Yは輝度、Iは同相色差、Qは直交色差です。Yは0から1、Iは-0.5957から0.5957、Qは-0.5226から0.5226の範囲でなければなりません。これらはNTSC YIQの正規化された範囲であり、バイト値でも割合でもありません。Yがゼロに近いほど輝度は低く、1に近いほど高くなります。符号付きのIとQは、その輝度を基準に色の情報を表します。API、SDK、ブラウザーのフォームで契約を曖昧にしないため、数字を表す文字列ではなく、実際のJSON数値を送信してください。この変換ツールは、未指定の値、文字列、NaNに相当する値、無限値、宣言範囲外の数値を拒否します。この厳格な処理により、入力ミスや尺度の取り違えから、もっともらしい誤色が生成されることを防ぎます。説明的な連携向けにluminance、in_phase、quadratureという別名も受け付けますが、標準フィールドはy、i、qです。

NTSC逆行列と範囲制限を理解します

計算には固定変換R = Y + 0.956I + 0.621Q、G = Y - 0.272I - 0.647Q、B = Y - 1.106I + 1.703Qを使用します。各式は最初に、範囲制限前の正規化チャンネルを生成します。正しい範囲のYIQ成分でもRGB立方体の外側の色を表す場合があります。許容されるYIQ領域は、赤・緑・青がゼロから1に収まる組み合わせと完全には一致しないためです。そのため各出力を個別に制限し、ゼロ未満はゼロ、1を超える値は1にします。制限前の値はunclamped_rgbに保持され、影響を受けたチャンネルはclippedに示されるため、変更が隠れることはありません。その後、制限済みの正規化成分を255倍し、最も近い整数へ丸めて一般的な8ビットチャンネルを作ります。同じ値から、小文字6桁の16進色とCSSのrgb()値も生成します。固定係数と安定した小数丸めにより、繰り返し実行しても予測可能な結果になります。

結果を読み取り安全に利用します

アプリケーションが個別の整数チャンネルを必要とする場合はred、green、blueを、3要素の配列を必要とする場合はrgbをお使いください。デザインツールやカラーピッカーにはhex、スタイルシートにはcssが適しています。ゼロから1のチャンネルを扱う描画コードではnormalized_rgbが便利です。unclamped_rgbは直接表示する色ではなく診断情報で、色域制限前の行列計算値を示します。色の忠実性が重要な場合はclippedを確認してください。切り詰めがある場合、指定したYIQ点は表示可能なRGBの外側にあり、返される色は各チャンネルを個別に制限した近似値です。完全に逆変換できる表現ではありません。この違いは、旧式の放送信号の解析、画像処理式の移植、異なる係数を使う実装の比較で重要です。別のシステムが異なるYIQ定義を使う可能性がある場合は、採用した行列も記録してください。1回のリクエストで1色を変換し、API料金は$0.002です。ネットワーク、乱数、時刻、隠れた状態、地域依存の書式は使いません。

過去のNTSC色情報を復号する

保存資料や教材のYIQデータに含まれる正規化輝度・色差サンプルを、表示可能なRGBチャンネルへ変換します。

描画実装を検証する

逆行列、色域制限、16進表記、整数丸めの出力を、決定的な参照結果と比較できます。

色域外の色を調べる

制限前の値とチャンネル別フラグから、正しいYIQ点がRGB立方体に正確に収まらない理由を確認します。

入力できる範囲はどこまでですか?

Yは0から1、Iは-0.5957から0.5957、Qは-0.5226から0.5226です。すべて有限のJSON数値で指定してください。

どの逆行列を使用しますか?

R = Y + 0.956I + 0.621Q、G = Y - 0.272I - 0.647Q、B = Y - 1.106I + 1.703Qを使用します。

正しいYIQ入力でも切り詰められるのはなぜですか?

有効なYIQ領域が正規化RGB立方体を越える場合があるためです。0から1の外に出た生のチャンネルは表示用に制限されます。

8ビットRGBチャンネルはどう作りますか?

各正規化チャンネルを0から1に制限し、255倍して最も近い整数へ丸めます。

この変換は元に戻せますか?

係数と丸め方式が一致し、切り詰めがない場合に限られます。整数への丸めでも精度が失われます。

APIリクエストの料金はいくらですか?

1回の料金は$0.002です。各リクエストで1つのYIQ色を処理します。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/color/yiq-rgb

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/color/yiq-rgb \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"y":0.5,"i":0.2,"q":-0.1}'
{
  "y": 0.5,
  "i": 0.2,
  "q": -0.1
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.yiq_rgb",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

KITの完全なドキュメントを見る →