ForHosting KIT · 画像の編集・解析

RGBAアルファの事前乗算を解除して色チャンネルを復元

1ピクセルの事前乗算を元に戻します。赤0.125、緑0.25、青0.375、アルファ0.5なら、0.25、0.5、0.75に戻り、アルファはそのままです。アルファが0の場合やアルファを超える色は受け付けません。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
Red
0.125
緑
0.25
青
0.375
アルファ
0.5
結果
Red
0.25
緑
0.5
青
0.75
RGBA 値
0.25, 0.5, 0.75, 0.5

RGBAアルファ事前乗算解除ツールは、正規化された事前乗算済みピクセルから直接形式の赤・緑・青チャンネルを復元します。0から1までの4つの数値を指定すると、各色成分をアルファで割り、元のアルファ値はそのまま保持します。事前乗算済みの色がアルファを超えていないことも検査し、元の色を復元できないアルファ0はエラーにします。決定的な結果には名前付きチャンネルと順序付きRGBA配列が含まれ、グラフィックツール、テスト、変換処理、画像パイプラインでそのまま利用できます。

事前乗算アルファと直接アルファの違い

RGBAデータの透明度には一般に2つの表現があります。直接アルファでは、元の赤・緑・青を不透明度と独立して保存します。事前乗算アルファでは、各色にアルファを掛けた値を保存します。

たとえば直接形式の赤が0.8、アルファが0.5なら、事前乗算後の赤は0.4です。事前乗算は複数の合成計算を簡潔にし、透明な輪郭の色にじみを抑えますが、保存値は元の色を直接表さなくなります。この機能は正規化された1ピクセルについて計算を逆に行い、赤・緑・青をアルファで割って、アルファは変更せず返します。

入力範囲は0から1であり、0から255のバイト値ではありません。そのため小数としての関係が明確です。結果は復元した各チャンネルを名前付きで示し、さらに赤、緑、青、アルファ順のRGBA配列も返すため、位置で値を扱う処理にも適しています。

アルファ0をエラーにする理由

事前乗算の解除は、アルファが0より大きい場合にだけ定義できます。アルファが0なら、正しく事前乗算された色チャンネルは、乗算前の直接色にかかわらずすべて0になります。したがって赤0、緑0、青0、アルファ0の透明ピクセルは任意のRGB色から生成された可能性があり、0除算から一意の答えを復元できません。

黒を返す、0を維持する、別の代替値を作るといった処理は、入力に存在しない情報を作ることになります。有限でない数、正規化範囲外の値、アルファを超える事前乗算済み色も拒否します。最後の検査は正規化データの不変条件を守り、直接色が1を超えることを防ぎます。

不正なピクセルがレンダラー、シェーダー、素材変換、または自動比較へ入る前に問題を確認できます。

合成計算の検証

既知の事前乗算サンプルをテストし、復元チャンネルを期待する直接値と比較します。

素材レコードの正規化

個別RGBAレコードを保存、検査、変換する前に、一貫した直接アルファ表現へ変換します。

どのチャンネル範囲を入力できますか?

4チャンネルすべてが0から1までの有限な正規化数値で、アルファは0より大きい必要があります。

事前乗算色がアルファを超えられないのはなぜですか?

1以下の正規化色にアルファを掛けても、アルファより大きな値にはならないためです。

色空間変換やガンマ補正も行いますか?

いいえ。 指定チャンネルの算術的な事前乗算解除だけを行います。色空間は別途変換してください。

復元したチャンネルを丸めたり制限したりしますか?

いいえ。 有効な入力は正規化範囲を保証し、各色は事前乗算値をアルファで直接割った結果です。

ストレートアルファと事前乗算アルファの違いは何ですか?

ストレートアルファは元の色を不透明度と分けて保存し、事前乗算アルファは各色にアルファを掛けた値を保存します。ストレートの赤0.8をアルファ0.5で事前乗算すると0.4になります。

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

POSThttps://api.kit.forhosting.com/color/unpremultiply

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

curl -X POST https://api.kit.forhosting.com/color/unpremultiply \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"red":0.125,"green":0.25,"blue":0.375,"alpha":0.5}'
{
  "red": 0.125,
  "green": 0.25,
  "blue": 0.375,
  "alpha": 0.5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.unpremultiply",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

1リクエストあたり$0.002

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

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

アルファ0をエラーにする理由

そのため本ツールは`invalid_input`を返します。

決定的な色復元を処理へ組み込む方法

0.125、0.25、0.375とアルファ0.5から、直接色0.25、0.5、0.75とアルファ0.5が得られます。丸め、色空間変換、ガンマ補正、クランプ、バイト量子化、乱数、時計、地域依存書式は使用しません。画像全体には、この単一項目の処理を上限付きピクセルパイプラインへ組み込み、元データが実際に事前乗算済みであることをご確認ください。画像ライブラリ、グラフィックAPI、キャンバス出力、テクスチャ処理、または保存済み素材が正規化された事前乗算チャンネルを返し、次のシステムが直接アルファを要求する場合にご利用ください。赤、緑、青、アルファの名前付きフィールドで1ピクセルを送信します。ECMAScriptの数値規則による直接除算なので、同じ有効なJSON入力はブラウザーとAPIで同じ結果になります。API料金は1リクエスト$0.002です。

グラフィックAPI出力の変換

事前乗算ピクセルをRGBとアルファが独立したインターフェースへ渡す前に、正規化された直接色を復元します。

アルファが0の場合はどうなりますか?

完全透明な事前乗算データから一意の直接色を復元できないため、`invalid_input`で失敗します。

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