ForHosting KIT · Bilder bearbeiten & analysieren

RGBA-Alpha-Prämultiplikation aufheben

Heben Sie die Alpha-Prämultiplikation eines Pixels auf: Rot 0,125, Grün 0,25 und Blau 0,375 bei Alpha 0,5 werden wieder zu 0,25, 0,5 und 0,75, Alpha bleibt gleich. Alpha null und Farben über Alpha werden abgelehnt. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Red
0,125
Grün
0,25
Blau
0,375
Alpha
0,5
Erhalten Sie
Red
0,25
Grün
0,5
Blau
0,75
RGBA
0,25, 0,5, 0,75, 0,5

Dieses Werkzeug hebt die RGBA-Alpha-Prämultiplikation auf und gewinnt die direkten Rot-, Grün- und Blaukanäle eines normierten Pixels zurück. Sie geben vier Zahlen zwischen 0 und 1 ein; der Rechner teilt jede Farbkomponente durch Alpha und behält den ursprünglichen Alphawert bei. Zusätzlich prüft er, dass keine prämultiplizierte Farbe Alpha übersteigt, und weist Alpha null zurück, weil sich die Ausgangsfarbe dann nicht rekonstruieren lässt. Die deterministische Antwort enthält benannte Kanäle und ein geordnetes RGBA-Array für Grafikwerkzeuge, Tests, Konverter und Bildverarbeitungsabläufe.

Unterscheiden Sie prämultipliziertes und direktes Alpha

RGBA-Daten stellen Transparenz üblicherweise auf zwei Arten dar. Bei direktem Alpha werden die ursprünglichen Rot-, Grün- und Blauwerte unabhängig von der Deckkraft gespeichert. Bei prämultipliziertem Alpha wird jeder Farbwert erst mit Alpha multipliziert.

Ein direkter Rotwert von 0.8 bei Alpha 0.5 wird beispielsweise als 0.4 gespeichert. Diese Darstellung vereinfacht mehrere Compositing-Operationen und vermeidet manche Farbsäume an transparenten Kanten, doch die gespeicherten Kanäle beschreiben die ursprüngliche Farbe nicht mehr unmittelbar. Diese Capability kehrt die Rechnung für ein normiertes Pixel um: Rot, Grün und Blau werden durch Alpha geteilt, Alpha bleibt unverändert.

Eingaben liegen im Bereich von 0 bis 1 statt in Bytes von 0 bis 255, sodass das Bruchverhältnis eindeutig bleibt. Die Antwort nennt jeden zurückgewonnenen Kanal und enthält zusätzlich ein RGBA-Array in der Reihenfolge Rot, Grün, Blau und Alpha für Anwendungen mit positionsbezogenen Werten.

Warum Alpha null einen Fehler auslöst

Die Umkehrung der Prämultiplikation ist nur für Alpha größer als null definiert. Ist Alpha null, sind alle korrekt prämultiplizierten Farbkanäle ebenfalls null, unabhängig von ihrer direkten Farbe vor der Multiplikation. Ein transparentes Pixel mit Rot 0, Grün 0, Blau 0 und Alpha 0 kann daher aus jeder RGB-Farbe entstanden sein; eine Division durch null liefert keine eindeutige Rekonstruktion.

Schwarz zurückzugeben, die Nullwerte beizubehalten oder einen Ersatzwert zu erfinden, würde Informationen vortäuschen, die in der Eingabe fehlen. Er weist außerdem nicht endliche Zahlen, Werte außerhalb des normierten Bereichs und prämultiplizierte Farbkanäle oberhalb von Alpha zurück. Die letzte Prüfung wahrt die erwartete Invariante normierter Daten und verhindert direkte Ergebnisse über 1.

Fehlerhafte Pixel gelangen so nicht unbemerkt in Renderer, Shader, Asset-Konverter oder automatisierte Vergleiche.

Deterministische Kanalrückgewinnung einsetzen

Übergeben Sie ein Pixel mit Rot, Grün, Blau und Alpha. Die Werte 0.125, 0.25 und 0.375 bei Alpha 0.5 ergeben 0.25, 0.5 und 0.75; Alpha bleibt 0.5. Es erfolgen keine Rundung, Farbraumumwandlung, Gammakorrektur, Begrenzung, Byte-Quantisierung, Zufallsauswahl, Zeitmessung oder gebietsabhängige Formatierung.

Binden Sie die Operation für vollständige Bilder in eine begrenzte Pixel-Pipeline ein und prüfen Sie vorher, dass die Quelle tatsächlich prämultipliziert ist.

Ausgaben von Grafik-APIs umwandeln

Gewinnen Sie direkte normierte Farben zurück, bevor Sie Pixel an eine Schnittstelle mit getrennten RGB- und Alphawerten übergeben.

Compositing-Berechnungen prüfen

Testen Sie bekannte prämultiplizierte Beispiele und vergleichen Sie die zurückgewonnenen Kanäle mit den erwarteten direkten Werten.

Asset-Datensätze normalisieren

Überführen Sie einzelne RGBA-Datensätze vor Speicherung, Prüfung oder Konvertierung in eine einheitliche direkte Alpha-Darstellung.

Welcher Kanalbereich wird akzeptiert?

Alle vier Kanäle müssen endliche normierte Zahlen zwischen 0 und 1 sein; Alpha muss größer als null sein.

Warum darf eine prämultiplizierte Farbe Alpha nicht übersteigen?

Die Multiplikation einer normierten Farbe bis 1 mit Alpha kann keinen Wert oberhalb von Alpha ergeben.

Werden Farbräume umgerechnet oder Gammawerte korrigiert?

Nein. Das Werkzeug hebt nur die arithmetische Prämultiplikation auf; Farbraumumwandlungen erfolgen getrennt.

Werden zurückgewonnene Kanäle gerundet oder begrenzt?

Nein. Gültige Eingaben sichern bereits den normierten Bereich; jeder Farbwert wird direkt durch Alpha geteilt.

Welche Werte kann ich eingeben?

Alle vier Kanäle werden als Zahlen von 0 bis 1 eingegeben, nicht als Bytewerte. Rot, Grün und Blau dürfen dabei Alpha nicht übersteigen, und Alpha muss größer als null sein.

Was ist der Unterschied zwischen geradem und prämultipliziertem Alpha?

Gerades Alpha speichert die ursprüngliche Farbe getrennt von der Deckkraft, prämultipliziertes Alpha speichert jede Farbe bereits mit Alpha multipliziert. Ein gerades Rot von 0,8 bei Alpha 0,5 wird prämultipliziert als 0,4 gespeichert.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

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

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

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"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Warum Alpha null einen Fehler auslöst

Der Rechner meldet deshalb `invalid_input`.

Deterministische Kanalrückgewinnung einsetzen

Verwenden Sie diese Operation, wenn eine Bildbibliothek, Grafik-API, Canvas-Ausgabe, Textur-Pipeline oder serialisierte Ressource normierte prämultiplizierte Kanäle liefert, das nächste System jedoch direktes Alpha erwartet. Die direkte Division folgt den ECMAScript-Zahlenregeln, daher erzeugt dieselbe gültige JSON-Eingabe im Browser und über die API dieselbe Ausgabe. Die API kostet $0.002 pro Anfrage.

Was geschieht bei Alpha null?

Die Anfrage endet mit `invalid_input`, weil vollständig transparente prämultiplizierte Daten keine eindeutige direkte Farbe bewahren.

Vollständige KIT-Dokumentation lesen →