ForHosting KIT · Bilder bearbeiten & analysieren

Kontaktbogen-Generator

Die Planung eines Kontaktbogens sollte keine wiederholten Größenversuche erfordern.

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

Geben Sie die Pixelbreite und -höhe jedes Bildes sowie die maximal verfügbare Bogenbreite an. Dieser Rechner liefert ein zweckmäßiges Raster mit einem einheitlichen Rahmen für Vorschaubilder. Das Ergebnis nennt Spalten, Zeilen, Vorschaugröße und endgültige Bogenmaße. Das Layout bietet Platz für sämtliche Seitenverhältnisse, hält die Breitenbegrenzung ein und wird durch eine deterministische Berechnung stets identisch erzeugt.

Bereiten Sie Bildmaße und Breitenlimit vor

Legen Sie für jedes Bild, das auf dem Kontaktbogen erscheinen soll, einen Datensatz an. Jeder Datensatz benötigt eine Breite und eine Höhe in Pixeln; beide Werte müssen positive ganze Zahlen sein. Die Dateien selbst werden weder hochgeladen noch dekodiert, denn nur ihre Abmessungen sind erforderlich. Erfassen Sie alle Bilder, weil ihre Anzahl die benötigten Rasterzellen bestimmt. Die größte Quellbreite und Quellhöhe bilden zugleich einen gemeinsamen Rahmen, in den die gesamte Sammlung ohne Beschnitt passt. Setzen Sie anschließend max_sheet_width auf die Pixelbreite, die in Ihrem Dokument, Export, Galeriebereich oder Druckablauf verfügbar ist. Der Rechner behandelt diesen Wert als feste Obergrenze. Er reserviert keinen Platz für äußere Ränder, Bildunterschriften, Zwischenräume, Rahmen oder Beschnittzugaben. Ziehen Sie solche Flächen daher vorher ab, falls ein anderes System sie später ergänzt. Eine leere Liste wird abgelehnt, weil Spalten, Zeilen und Vorschaugröße ohne Bilder keinen sinnvollen Wert besitzen. Auch gebrochene, nullwertige, negative oder ungültige Maße werden zurückgewiesen, damit automatisierte Layoutabläufe zuverlässig bleiben.

So wird das Raster ausgewählt

Der Algorithmus prüft jede mögliche Spaltenzahl von eins bis zur Gesamtzahl der Bilder. Für jeden Kandidaten ermittelt er durch Aufrunden die nötigen Zeilen, teilt die maximale Bogenbreite in gleich breite Zellen mit ganzzahligen Pixelmaßen und leitet aus der Hülle der Quellabmessungen eine passende Vorschauhöhe ab. Dadurch entsteht ein einheitlicher Rahmen für eine contain-Platzierung: Der Renderer skaliert jedes Bild proportional, bis es hineinpasst. Dabei kann auf einer Achse Freiraum bleiben, ein Beschnitt ist jedoch nicht erforderlich. Anschließend vergleicht der Algorithmus Breite und Höhe des entstehenden Bogens und wählt den Kandidaten, der einem Quadrat am nächsten kommt. Ein kompakter, ausgewogener Bogen lässt sich meist leichter überblicken und vermeidet den extrem langen Streifen mit nur einer Spalte, der bei einer bloßen Maximierung der Vorschau entstehen würde. Bei gleichem Seitenunterschied gewinnt die größere Vorschaufläche; besteht weiterhin Gleichstand, werden weniger Spalten bevorzugt. Die Vorschauen werden außerdem nicht breiter als die breiteste Quelle, sodass keine unnötige Vergrößerung erfolgt. Sämtliche Berechnungen verwenden ganze Pixel und eindeutige deterministische Auswahlregeln.

Verwenden Sie das Ergebnis im Renderer

Die Antwort enthält count, columns, rows, thumbnail_size, sheet_size, max_sheet_width und den Modus fit. Erzeugen Sie eine Zeichenfläche mit sheet_size.width und sheet_size.height. Platzieren Sie danach das Element mit Index i in der Spalte i modulo columns und in der Zeile, die dem ganzzahligen Anteil von i geteilt durch columns entspricht. Jede Zelle verwendet die zurückgegebene Vorschauhöhe und -breite. Skalieren Sie das Quellbild mit einer contain-Operation, zentrieren Sie es bei Bedarf in der Zelle und bewahren Sie sein ursprüngliches Seitenverhältnis. Da die letzte Zeile unvollständig sein kann, darf Ihr Renderer die übrigen Zellen leer lassen oder diese Zeile zentrieren; die berechnete Fläche behält bewusst eine einfache rechteckige Geometrie. Abstände und Beschriftungen sind nicht enthalten. Möchten Sie beispielsweise zehn Pixel Abstand einfügen, reservieren Sie deren Gesamtbreite vor der Berechnung oder verkleinern Sie alle gelieferten Zellmaße einheitlich. Der Endpunkt eignet sich für interaktive und wiederholbare Abläufe: Gleiche Eingaben liefern gleiche Ausgaben, es erfolgen keine Netzwerkanfragen und Bildinhalte werden niemals untersucht. Die API-Nutzung kostet $0.002 je Anfrage; im Browser kann dieselbe reine Berechnung lokal laufen.

Fotografischen Prüfbogen planen

Wählen Sie vor dem Laden oder Skalieren der Originalfotos ein ausgewogenes Raster für eine feste Exportbreite.

Vorschau einer Medienbibliothek erstellen

Wandeln Sie gespeicherte Bildmetadaten in eindeutige Spalten, Zeilen und Zellmaße für eine Galerie um.

Übersichtsseiten für Datensätze vorbereiten

Ordnen Sie Hoch-, Quer- und Quadratbeispiele ohne Beschnitt in einheitlichen contain-Rahmen an.

Wie hoch sind die Kosten?

Die Ausführung über die API kostet $0.002 je Anfrage. Die Berechnung kann außerdem kostenlos lokal im Browser erfolgen.

Werden meine Bilder skaliert oder zusammengefügt?

Nein. Zurückgegeben werden nur Layoutmaße; die eigentliche Skalierung und Zusammenstellung übernimmt Ihr Renderer.

Werden Hoch- oder Querformatbilder beschnitten?

Ein Beschnitt ist nicht nötig. Die Vorschaugröße ist ein Rahmen für eine proportionale contain-Platzierung.

Sind Abstände, Beschriftungen oder Ränder enthalten?

Nein. Reservieren Sie Raum für Zwischenräume, Texte, Rahmen, Seitenränder oder Beschnittzugaben vor der Breitenangabe.

Warum verursacht eine leere Bilderliste einen Fehler?

Ein Raster ohne Elemente besitzt weder eine sinnvolle Zeilenzahl noch eine Vorschaugröße und wird deshalb ausdrücklich abgelehnt.

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/contact-sheet-layout

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/contact-sheet-layout \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"images":[{"width":1600,"height":900},{"width":1200,"height":1600},{"width":2048,"height":1365},{"width":800,"height":800},{"width":1920,"height":1080}],"max_sheet_width":1200}'
{
  "images": [
    {
      "width": 1600,
      "height": 900
    },
    {
      "width": 1200,
      "height": 1600
    },
    {
      "width": 2048,
      "height": 1365
    },
    {
      "width": 800,
      "height": 800
    },
    {
      "width": 1920,
      "height": 1080
    }
  ],
  "max_sheet_width": 1200
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.contact_sheet_layout",
  "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 →