Spezifikation für ein Platzhalterbild erstellen
Fordern Sie einen Platzhalter mit 640 × 360 an und erhalten Sie die Leinwandgröße, einheitlich geschriebene Farben wie #1A2B3C und ein Label „640 × 360“, zentriert bei 320, 180. So reservieren Sie Bildflächen im Layout, bevor die endgültigen Bilder da sind. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Eine Platzhalterbild-Spezifikation ist hilfreich, wenn ein Layout bereits vor dem endgültigen Bildmaterial eine verlässliche Bildgeometrie benötigt. Geben Sie eine positive Breite und Höhe in Pixeln sowie optional hexadezimale Hintergrund- und Textfarben an. Das Ergebnis beschreibt die Zeichenfläche, normierte Farben und eine genau mittig positionierte Maßangabe. Es lädt kein Bild herunter, rendert und speichert nichts.
Legen Sie zuerst die Zeichenfläche fest
Beginnen Sie mit der exakten Breite und Höhe, welche das spätere Bild einnehmen soll. Beide Werte werden in Pixeln angegeben und müssen positive ganze Zahlen sein. Dadurch eignet sich die Spezifikation für übliche Abläufe in Browsern, Designsystemen und Testdaten.
Das zurückgegebene Abmessungsobjekt übernimmt diese Werte unverändert, ohne Skalierung oder Vermutung zum Seitenverhältnis. So bildet das Ergebnis eine stabile Grenze zwischen dem Inhaltssystem, das den benötigten Bildplatz kennt, und dem Renderer, der die Spezifikation später in SVG, Canvas-Befehle, CSS oder ein anderes Format umsetzt. Da diese Fähigkeit eine Beschreibung statt binärer Bilddaten liefert, behalten Sie die Kontrolle über Dateityp, Kompression, Typografie und Rendering-Umgebung.
Eine Kartenkomponente kann eine Spezifikation im Querformat anfordern, ein Avatar eine quadratische; beide erhalten dieselbe vorhersehbare Struktur. Nullwerte, negative, gebrochene, fehlende oder nicht numerische Abmessungen werden abgewiesen und nicht stillschweigend korrigiert. Fehlerhafte Layoutdaten gelangen dadurch nicht unbemerkt in nachgelagerte Verarbeitungsschritte.
Verwenden Sie kanonische Hexadezimalfarben
Hintergrund- und Textfarbe sind optional. Wenn Sie diese weglassen, verwendet die Spezifikation einen neutralen hellgrauen Hintergrund und eine dunkelgraue Beschriftung als praktische Platzhalterwerte. Jede angegebene Farbe muss der CSS-Hexadezimalschreibweise mit drei, vier, sechs oder acht Stellen entsprechen; das einleitende Rautezeichen ist optional.
Kurzformen werden erweitert und Buchstaben in Großbuchstaben umgewandelt, sodass gleichwertige Eingaben nur einen kanonischen Wert ergeben. Eine Kurzform und ihre sechsstellige Entsprechung erzeugen somit nicht unnötig unterschiedliche Cache-Schlüssel oder Snapshots. Vier- und achtstellige Formen bewahren den Alphakanal für Renderer mit Transparenzunterstützung.
Farbnamen, Verläufe, Funktionen und Design-Tokens werden bewusst nicht akzeptiert, weil sie von einer bestimmten Stilumgebung abhängen und die Übertragbarkeit schwächen würden. Die Fähigkeit bestätigt auch nicht, dass ein Farbpaar eine Kontrastnorm erfüllt. Prüfen Sie die normierten Farben vor dem Rendering, wenn Lesbarkeit entscheidend ist.
Klare Fehlermeldungen nennen unmittelbar das Feld mit einem nicht unterstützten Format.
Rendern Sie die Beschriftung zuverlässig mittig
Der Beschriftungstext wird unmittelbar aus den geprüften Abmessungen im geläufigen Format Breite mal Höhe erzeugt. Die horizontale Koordinate entspricht der halben Breite und die vertikale der halben Höhe. Bei ungeraden Abmessungen können daher korrekterweise Halbpixelkoordinaten entstehen.
Explizite Werte für die horizontale und vertikale Ausrichtung weisen einen nachgelagerten Renderer an, die Beschriftung in ihrer Mitte zu verankern, statt die Koordinaten als oberen linken Ursprung aufzufassen. Annahmen zu Schriftfamilie, Schriftgröße, Zeilenhöhe oder Textmessung bleiben damit außen vor, denn diese Entscheidungen gehören zur Rendering-Schicht. Eine Browserimplementierung kann die Felder auf SVG-Textattribute abbilden; eine serverseitige Grafikbibliothek kann dieselben Koordinaten mit eigenen Zentrierungsoptionen nutzen.
Die Spezifikation bleibt deterministisch, weil sie ausschließlich prüft, normiert und rechnet. Weder Netzwerkaufrufe noch Uhrzeit, Zufallsquelle oder gespeicherter Zustand beeinflussen das Ergebnis.
Anwendungsfälle
Responsive Layoutdaten vorbereiten
Erstellen Sie einheitliche Spezifikationen für Bildflächen in Karten, Galerien und Bannern, bevor endgültige Medien vorliegen.
Einen internen Bildrenderer speisen
Normieren Sie Abmessungen und Farben vor der Umsetzung als SVG, Canvas-Operationen oder serverseitige Zeichenbefehle.
Visuelle Tests stabilisieren
Nutzen Sie deterministische Koordinaten und kanonische Farben in Snapshots, ohne von einem externen Platzhalterdienst abhängig zu sein.
Häufige Fragen
Was geschieht, wenn keine Farben angegeben werden?
Der Hintergrund erhält #CCCCCC und die Beschriftung #333333. Beide erscheinen im Ergebnis in normierter sechsstelliger Form.
Welche Farbformate werden akzeptiert?
Akzeptiert werden CSS-Hexadezimalfarben mit drei, vier, sechs oder acht Stellen, mit oder ohne vorangestelltes Rautezeichen.
Warum kann eine Mittelpunktkoordinate eine Dezimalstelle haben?
Der mathematische Mittelpunkt einer ungeraden Pixelzahl liegt zwischen Pixeln; die Halbierung ergibt daher korrekt einen Halbpixelwert.
Erstellt das Werkzeug die Bilddatei des Platzhalters selbst?
Nein. Es beschreibt Leinwand, Farben und das mittige Label, ohne ein Bild zu zeichnen, herunterzuladen oder zu speichern. Wer daraus ein Bild macht, bestimmt Dateityp, Kompression und Schrift ganz selbst.
Prüft es, ob der Text auf dem Hintergrund gut lesbar ist?
Nein, es sagt nicht zu, dass ein Farbpaar eine Kontrastnorm erfüllt. Wenn Lesbarkeit wichtig ist, prüfen Sie die beiden vereinheitlichten Farben mit einem Kontrastprüfer, bevor Sie den Platzhalter zeichnen.
Verwandte Tools
Für Entwickler — API-Zugang
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.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/image/placeholder-image-spec \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":640,"height":360}'const res = await fetch("https://api.kit.forhosting.com/image/placeholder-image-spec", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 640,
"height": 360
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/placeholder-image-spec",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 640,
"height": 360
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/placeholder-image-spec", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":640,"height":360}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":640,"height":360}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/placeholder-image-spec", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"width": 640,
"height": 360
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.placeholder_image_spec",
"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.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 15 |
max_megapixels | 12 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Deshalb erzeugt dieselbe Eingabe stets dasselbe kompakte JSON, ganz ohne externen Platzhalterdienst.
Technische Fragen
Erstellt diese Fähigkeit eine Bilddatei?
Nein. Sie liefert eine rendererunabhängige JSON-Spezifikation für Zeichenfläche, Farben, Text und zentrierte Position der Beschriftung.
Was kostet ein API-Aufruf?
Jeder API-Aufruf kostet $0.002. Für die Berechnung wird kein externer Netzwerkdienst verwendet.