ForHosting KIT · Bilder bearbeiten & analysieren

RGB zu RGB555 packen

Packen Sie eine RGB-Farbe in ein 15-Bit-RGB555-Wort: Orange mit 255, 128, 0 wird zu 32256, also 0x7E00. Jeder Kanal behält seine oberen fünf Bit, so wie es VGA-High-Color-Modi und ältere PC-Spiele erwarten. 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
Widerstand (Ω)
255
G
128
B
0
Erhalten Sie
R5
31
G5
16
B5
0
Quantisiertes R
248

Ältere Grafikhardware speichert Farbe als fünfzehnbitiges RGB555-Wort statt als drei Achtbit-Kanäle. Dieser RGB-zu-RGB555-Packer nimmt Rot-, Grün- und Blau-Ganzzahlen von null bis zweihundertfünfundfünfzig entgegen, kürzt jeden Kanal auf fünf Bits, indem er die drei niedrigstwertigen Bits verwirft, und packt das Ergebnis mit Rot in den Bits vierzehn bis zehn, Grün in den Bits neun bis fünf und Blau in den Bits vier bis null. Das ungenutzte hohe Bit bleibt null, sodass die gepackte Ganzzahl stets zwischen null und zweiunddreißigtausendsiebenhundertsiebenundsechzig liegt. Die Engine ist vollständig deterministisch: kein Netz, kein Zufallskeim, keine Wanduhr.

Was RGB555 ist und wo es vorkommt

Ältere Grafikhardware speichert eine Farbe nicht als drei Kanäle mit je 8 Bit, sondern als ein einziges 15-Bit-Wort. Statt 256 Stufen pro Kanal bleiben nur 32. Rot liegt in den Bits 14 bis 10, Grün in 9 bis 5 und Blau in 4 bis 0; das oberste Bit bleibt immer null. Deshalb liegt das gepackte Ergebnis stets zwischen 0 und 32767. Diese Anordnung kennen Sie aus VGA-High-Color-Modi, älteren PC-Spielen und vielen Grafikbibliotheken. Emulator-Entwickler, Retro-Werkzeuge und Paletten für BIOS-Abbilder brauchen genau dieses Format, wenn eine moderne Farbe zurück in die alte Welt soll.

So wird gepackt und was oft schiefgeht

Jeder Kanal wird um drei Bit nach rechts verschoben, also ganzzahlig durch 8 geteilt und der Rest verworfen. Aus 255 wird 31, aus Mittelgrau 128 wird 16, und alles von 0 bis 7 wird zu 0. Danach werden die drei Fünf-Bit-Werte zu einem Wort zusammengesetzt. Orange mit 255, 128, 0 ergibt so 32256. Häufige Fehler sind die Erwartung, dass gerundet wird, und die Verwechslung mit BGR555, bei dem Blau oben liegt. Außerdem werden Werte außerhalb von 0 bis 255 mit einer klaren Meldung abgelehnt, statt still begrenzt zu werden.

Was RGB555-Packen bedeutet und wie das fünfzehnbitige Wort entsteht

Achtbitiges sRGB, das Modell von CSS und modernen Malwerkzeugen, gibt jedem von Rot, Grün und Blau zweihundertsechsundfünfzig verschiedene Stufen. Fünfzehnbitiges High Color, oft RGB555 genannt, behält nur zweiunddreißig Stufen je Kanal. Die historische Umrechnung ist ein Abschneiden, keine wahrnehmungsnahe Rundung: schieben Sie jeden Achtbit-Kanal um drei Bits nach rechts, gleich einer Ganzzahldivision durch acht unter Verwerfen des Rests.

Reines Rot zweihundertfünfundfünfzig wird einunddreißig, Mittelgrau hundertachtundzwanzig wird sechzehn, und jeder Wert von null bis sieben fällt auf null. Diese drei Fünfbit-Felder werden anschließend in eine vorzeichenlose Ganzzahl gepackt, Rot in den Bits vierzehn bis zehn, Grün in den Bits neun bis fünf, Blau in den Bits vier bis null. Bit fünfzehn bleibt ungenutzt und wird stets als null geschrieben, sodass das gepackte Wort niemals zweiunddreißigtausendsiebenhundertsiebenundsechzig überschreitet, also hexadezimal 0x7FFF.

Das ist das RGB555-Layout, das Windows-15-Bit-Farbe, VGA-High-Color-Modi und viele PC-Engines dokumentieren — nicht der BGR555-Tausch mancher Handhelds, bei dem Blau die hohen fünf Datenbits belegt.

Eingabevertrag, Abschneidregeln und eine Prüfung, die niemals klemmt

Äußere Leerzeichen an Zeichenkettenkanälen werden entfernt. Ein Wert ist nur dann zulässig, wenn er eine endliche ganze Zahl von null bis zweihundertfünfundfünfzig einschließlich ist. Es gibt weder stilles Klemmen noch Rundung auf die nächste Stufe: sieben um drei Bits nach rechts geschoben ist null, acht wird eins, und zweihundertfünfundfünfzig wird einunddreißig.

Diese Nur-Abschneiden-Regel entspricht dem Hardwarepfad der VGA-High-Color-DAC und zahlloser Asset-Wandler, die die drei niedrigstwertigen Bits verwerfen, bevor sie einen fünfzehnbitigen Framebuffer schreiben. Nach der Prüfung packt die Engine rgb555 als das um zehn nach links geschobene Fünfbit-Rot, bitweises Oder mit dem um fünf nach links geschobenen Fünfbit-Grün, bitweises Oder mit dem Fünfbit-Blau. Orange zweihundertfünfundfünfzig, hundertachtundzwanzig, null wird daher einunddreißig, sechzehn, null und packt zu zweiunddreißigtausendzweihundertsechsundfünfzig, geschrieben 0x7E00.

Weiß zweihundertfünfundfünfzig auf jedem Kanal packt zum Höchstwert zweiunddreißigtausendsiebenhundertsiebenundsechzig. Schwarz packt zu null.

Wo ein RGB-zu-RGB555-Packer sich lohnt und was er kostet

Retro-Werkzeugketten treffen diese Abbildung, wenn ein Paletteneditor dieselben fünfzehnbitigen Wörter ausgeben muss, die ein VGA-High-Color-Modus oder eine ältere PC-Engine im Videospeicher hielt, wenn ein Sprite-Wandler einen binären Palettenblob schreibt, oder wenn ein Emulatortest einen gepackten Framebuffer mit einem Referenzabbild vergleicht. ROM-Bearbeiter und Asset-Pipelines nutzen sie, um moderne Achtbit-Entwürfe in das grobe zweiunddreißig-Stufen-je-Kanal-Aussehen von 15-Bit-High-Color zu verwandeln, ohne eine volle Grafikbibliothek aufzustellen. Informatikkurse nutzen sie als saubere Bitverschiebeübung: Studierende prüfen, dass zweihundertfünfundfünfzig um drei Bits nach rechts geschoben einunddreißig ergibt und dass das gepackte Wort für Weiß 0x7FFF ist.

Frontend-Entwickler, die noch Rückfallebenen für historische Formate ausliefern oder dokumentieren, wie ein Leinwandexport nach Fünfbit-Quantisierung aussieht, können denselben Vertrag aus einem Skript aufrufen. Kombinieren Sie den kostenlosen RGB-zu-RGB555-Packer im Browser mit Hex- oder HSL-Wandlern, wenn der nächste Schritt ein Stylesheet ist, und mit dem 24-Bit-RGB-Ganzzahlpacker, wenn Sie acht Bits je Kanal statt fünf brauchen. Auf dieser Seite läuft die Arbeit vollständig auf Ihrem Gerät.

VGA-High-Color-Paletten und ältere PC-Engines

Wandeln Sie achtbitige Entwurfsfarbfelder in die 15-Bit-RGB555-Wörter um, die ein VGA-High-Color-Modus oder eine klassische PC-Engine im Videospeicher hielt.

Bitverschiebungen und Fünfbit-Quantisierung lehren

Lassen Sie Studierende prüfen, dass jeder Kanal mit einer Rechtsverschiebung um drei gekürzt und mit Rot in den Bits 14–10 gepackt wird, ohne die Verschiebungen von Hand zu schreiben.

Wie wird jeder Kanal auf fünf Bits gekürzt?

Die Engine verwirft die drei niedrigstwertigen Bits mit einer Rechtsverschiebung um drei (Ganzzahldivision durch acht). Es gibt keine Rundung: 7 wird 0, 8 wird 1, und 255 wird 31.

Welchen Bereich hat die gepackte RGB555-Ganzzahl?

Von null bis 32767 (0x0000 bis 0x7FFF). Bit 15 ist ungenutzt und bleibt null. Reines Weiß packt zu 32767; reines Schwarz packt zu 0.

Was geschieht, wenn ein Kanal außerhalb von 0–255 liegt?

Kanäle werden niemals geklemmt oder gewrappt, und eine fehlgeschlagene Prüfung wird nicht berechnet.

Warum wird aus 255 nach dem Packen 248?

Weil abgeschnitten statt gerundet wird. Die drei niedrigsten Bit fallen weg, aus 255 wird die Fünf-Bit-Stufe 31, und zurück auf 8 Bit entspricht das 248. Werte von 0 bis 7 werden zu 0.

Ist RGB555 dasselbe wie BGR555?

Nein. Hier liegt Rot in den oberen fünf Datenbits, Blau in den unteren. Manche Handheld-Konsolen vertauschen das und legen Blau nach oben; solche Daten ergeben mit diesem Packer falsche Farben.

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/rgb-rgb555

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/rgb-rgb555 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"r":255,"g":128,"b":0}'
{
  "r": 255,
  "g": 128,
  "b": 0
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.rgb_rgb555",
  "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.

min_channel0
max_channel255
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.

Designer, Emulator-Autoren und Werkzeugketten für Retro-Spiele nutzen diese Abbildung, wenn eine Palette, ein Framebuffer oder ein BIOS-Abbild das historische fünfzehnbitige High-Color-Layout der VGA-Modi, älterer PC-Spiele und vieler Grafik-API erwartet. Kanäle außerhalb des zulässigen Achtbit-Bereichs scheitern mit invalid_input statt still zu wrappen oder zu klemmen. Nutzen Sie ihn kostenlos im Browser für Palettenarbeit und Hausaufgabenprüfungen, oder rufen Sie die API zu $0.002 je erfolgreichem Element auf, wenn eine Build-Pipeline denselben Vertrag braucht.

Was RGB555-Packen bedeutet und wie das fünfzehnbitige Wort entsteht

Die Antwort wiederholt die ursprünglichen r, g und b, legt die Fünfbit-Felder als r5, g5 und b5 offen, rekonstruiert das quantisierte Achtbit-Aussehen als quantized_r, quantized_g und quantized_b durch Linksschieben um drei Stellen und veröffentlicht die gepackte Ganzzahl als rgb555 samt einer 0x-Hexform, vier Großbuchstaben-Hexziffern, einer fünfzehnstelligen Binärzeichenkette, einem css_rgb-Echo der Eingabe, der Methodenmarke rgb_to_rgb555, der Formelzeichenkette, bits_per_channel gleich fünf und max gleich zweiunddreißigtausendsiebenhundertsiebenundsechzig. Identische Eingaben erzeugen stets dasselbe JSON, weil der Pfad reine Arithmetik ist.

Eingabevertrag, Abschneidregeln und eine Prüfung, die niemals klemmt

Senden Sie per POST einen JSON-Körper mit drei Pflichtganzzahlen: r für Rot, g für Grün und b für Blau. Jedes Feld darf als JSON-Zahl oder als Ziffernzeichenkette ankommen; die Aliasse red und großes R, green und großes G sowie blue und großes B werden akzeptiert, damit Tabellen und typisierte Formulare denselben Vertrag wiederverwenden. Fehlende Felder, leere Zeichenketten, nichtnumerischer Text, Infinity, NaN, Brüche wie hundertachtundzwanzig Komma fünf, Negative und jeder Kanal von zweihundertsechsundfünfzig oder mehr scheitern mit invalid_input, das das Feld nennt und angibt, es müsse zwischen null und zweihundertfünfundfünfzig bleiben. Diese Fehlschläge werden nicht berechnet.

Wo ein RGB-zu-RGB555-Packer sich lohnt und was er kostet

Über die API kostet jedes erfolgreiche Packen $0.002; fehlgeschlagene Prüfungen werden nicht berechnet, und nach der Antwort wird nichts gespeichert.

Emulator-Fixtures und Sprite-Wandler

Packen Sie Paletteneinträge und Framebuffer-Pixel in deterministische RGB555-Ganzzahlen, damit Emulatortests und Asset-Wandler Binärabbilder prüfen können.

Wie packt man 8-Bit-RGB in einen RGB555-Wert?

Senden Sie JSON mit den Ganzzahlfeldern r, g und b in 0–255. Das rgb555 der Antwort ist das 15-Bit-Wort ((r>>3)<<10) | ((g>>3)<<5) | (b>>3), außerdem als Hex und als 15-Bit-Binärzeichenkette.

Ist der RGB-zu-RGB555-Packer kostenlos?

Das Browserwerkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen das vorausbezahlte KIT-Guthaben zu $0.002 je erfolgreichem Element; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →