ForHosting KIT · Bilder bearbeiten & analysieren

Bildhelligkeit mit eigener Zeichenrampe in ASCII umwandeln

Verwandeln Sie ein rechteckiges Raster aus Graustufen-Helligkeitswerten in saubere, reproduzierbare ASCII-Kunst.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Geben Sie Ganzzahlen von 0 für Schwarz bis 255 für Weiß an und wählen Sie eine Zeichenrampe, die von dunkel nach hell geordnet ist. Der Konverter ordnet jeden Messwert der nächstgelegenen Position auf dieser Rampe zu und erhält das Raster als Textzeilen. Das eignet sich für Terminalvorschauen, reine Textausgaben, kreative Programmierung, Unterricht zur Bildverarbeitung und Abläufe, die bereits Mittelwerte von Pixeln oder Zellen berechnen.

Bereiten Sie ein geeignetes Helligkeitsraster vor

Beginnen Sie mit einem rechteckigen Array, in dem jedes innere Array eine Ausgabezeile und jeder Wert eine Zeichenzelle darstellt. Die Messwerte müssen Ganzzahlen zwischen 0 und 255 sein: 0 bedeutet vollständig dunkel, 255 vollständig hell, dazwischen liegen die Grautöne. Verkleinern Sie hochauflösende Fotos vor dem Aufruf. Fassen Sie für jede Zeichenposition einen Pixelblock durch einen Mittelwert oder ein anderes Verfahren zusammen. Eine direkte Zuordnung jedes Pixels zu einem Zeichen erzeugt meist riesige Ergebnisse und verstärkt die unterschiedlichen Seitenverhältnisse von Pixeln und Glyphen. Alle Zeilen müssen gleich lang bleiben. Für eine Terminalvorschau sind häufig 40 bis 120 Spalten und weniger Zeilen sinnvoll, weil Zeichen meist höher als breit sind. Da die Funktion Helligkeitsdaten statt einer Bilddatei erhält, bestimmen Sie vorher selbst Skalierung, Ausschnitt, Farbumwandlung, Transparenz und Kontrast. Sind diese Entscheidungen getroffen, liefert dasselbe Raster immer denselben Text.

Wählen und verstehen Sie die ASCII-Rampe

Schreiben Sie die Rampe vom Zeichen für den dunkelsten bis zum Zeichen für den hellsten Messwert. Eine Folge wie <code>@%#*+=-:. </code> reicht von optisch dichten Zeichen bis zu einem abschließenden Leerzeichen. Schwarze Bereiche werden dadurch kräftig dargestellt, weiße verschwinden im Hintergrund. Kehren Sie die Reihenfolge für eine helle Darstellung auf dunklem Grund um oder verwenden Sie <code>#.</code> für ein kontrastreiches Ergebnis mit zwei Stufen. Jedes Unicode-Zeichen zählt als eine Position, auch Leerzeichen und Emoji; gewöhnliche Zeichen fester Breite gewährleisten jedoch die verlässlichste Ausrichtung. Der Konverter verteilt für jeden Messwert den Bereich 0–255 über alle Rampenpositionen und rundet zur nächsten. Die Endpunkte sind exakt: 0 wählt stets das erste, 255 das letzte Zeichen. Wiederholungen können einen Tonbereich gezielt verbreitern. Eine leere Rampe wird abgewiesen. Beachten Sie, dass ein abschließendes Leerzeichen bedeutsam ist, obwohl es in Formularen oder JSON-Ansichten schwer erkennbar sein kann.

Nutzen Sie Text und Metadaten der Ausgabe

Das Ergebnis enthält <code>art</code> als einzelne, durch Zeilenumbrüche getrennte Zeichenkette für Terminal, Textdatei, Protokoll oder Codeblock. Zusätzlich steht <code>lines</code> als Array bereit. Damit kann ein Programm Einrückungen, Rahmen, ANSI-Farben oder Zeilennummern hinzufügen, ohne den Text erneut aufzuteilen. Die ausgegebenen Zeilen- und Spaltenzahlen helfen bei der Maßprüfung; <code>ramp_length</code> hält fest, wie viele Unicode-Zeichen an der Zuordnung beteiligt waren. Es findet kein zufälliges Dithering statt. Bei kurzen Rampen können benachbarte Helligkeiten deshalb dasselbe Zeichen erhalten. Dieses Verhalten ist beabsichtigt und reproduzierbar. Für Dithering wenden Sie bei der Rastervorbereitung eine deterministische Fehlerdiffusion oder geordnete Dithermatrix an und senden anschließend deren Werte. Zeigen Sie die Kunst für eine korrekte Ausrichtung mit einer nichtproportionalen Schrift an und erhalten Sie Leerzeichen. In HTML muss die Ausgabe als Text in einem vorformatierten Element erscheinen, nicht als Markup, insbesondere wenn die Rampe spitze Klammern oder kaufmännische Und-Zeichen enthält.

Terminalvorschauen erstellen

Wandeln Sie verkleinerte Graustufenzellen in kompakten Text für Shells, Protokolle und Kommandozeilenwerkzeuge um.

Helligkeitsquantisierung vermitteln

Zeigen Sie, wie scheinbar kontinuierliche Grauwerte durch eine endliche Zeichenrampe zu klaren Tonstufen werden.

Deterministische Textgrafiken erzeugen

Erstellen Sie reproduzierbare ASCII-Elemente für Dokumentation, Tests, Retro-Oberflächen oder kreative Programmierung.

In welcher Reihenfolge wird die Rampe angegeben?

Ordnen Sie die Zeichen vom Symbol für Helligkeit 0 bis zum Symbol für Helligkeit 255. Eine dichte bis leichte Rampe erzeugt den vertrauten dunklen Stil auf hellem Grund.

Was geschieht bei einer leeren Rampe?

Die Anfrage wird mit einem Fehler für ungültige Eingaben abgewiesen, da kein Zeichen zur Darstellung eines Helligkeitswerts vorhanden ist.

Sind dezimale Helligkeitswerte zulässig?

Nein. Jeder Messwert muss eine Ganzzahl von 0 bis einschließlich 255 sein, damit Vertrag und Zuordnung reproduzierbar bleiben.

Skaliert der Konverter ein Bild?

Nein. Er verarbeitet ein bereits vorbereitetes rechteckiges Raster. Skalieren Sie die Quelle und berechnen Sie die Grauwerte vor der Anfrage.

Was kostet eine API-Anfrage?

Jede API-Anfrage kostet $0.002. Dieselbe deterministische Umwandlung kann im Browser auch kostenlos ausgeführt werden.

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/image/ascii-art-map

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/image/ascii-art-map \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"samples":[[0,64,128,192,255],[255,192,128,64,0]],"ramp":"@%#*+=-:. "}'
{
  "samples": [
    [
      0,
      64,
      128,
      192,
      255
    ],
    [
      255,
      192,
      128,
      64,
      0
    ]
  ],
  "ramp": "@%#*+=-:. "
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.ascii_art_map",
  "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.

max_mb15
max_megapixels12
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.

Vollständige KIT-Dokumentation lesen →