Bild auf Ausschnitt zuschneiden
Ein Ausschnitt von 800 × 600 ab x 240, y 120 passt in ein Bild mit 1920 × 1080, also erhalten Sie 800 × 600. Ragt er auch nur ein Pixel über den Rand, wird das gemeldet, nie stillschweigend verschoben. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Ein Bildausschnitt wirkt unkompliziert, bis ein automatisierter Auftrag Koordinaten erhält, die das Quellbild um ein Pixel überschreiten. Dieser Prüfer übernimmt Breite und Höhe des Quellbildes sowie einen durch x, y, Breite und Höhe beschriebenen Ausschnitt. Er kontrolliert jeden Wert, stellt sicher, dass das gesamte Rechteck im Bild liegt, und gibt bei einem gültigen Bereich die zugeschnittenen Abmessungen zurück. Ein Hochladen oder Dekodieren des Bildes ist nicht nötig. Daher können Sie die Prüfung vor einer Bildverarbeitung, für eine Vorschau oder beim Übernehmen von Koordinaten aus einem anderen Dienst einsetzen.
Quellbild und Ausschnitt beschreiben
Beginnen Sie mit den Pixelmaßen des Originalbildes. Die Werte x und y positionieren seine obere linke Ecke relativ zur oberen linken Bildecke mit der Koordinate 0,0. Width erstreckt sich nach rechts, height nach unten.
Alle sechs Werte müssen ganze Zahlen sein, da diese Funktion pixelgenaue Rasterausschnitte und keine Bruchgeometrie modelliert. Bild- und Ausschnittmaße müssen positiv sein; x und y dürfen null betragen. Beispielsweise überspringt x mit dem Wert 240 die ersten 240 Pixelspalten.
Ein Ausschnitt darf jede Bildkante exakt berühren. Verwenden Sie Maße desselben Bildes, das später zugeschnitten wird. Koordinaten aus einer skalierten Vorschau müssen Sie zuvor auf die Originalgröße umrechnen.
Funktionsweise der Grenzprüfung verstehen
Die Prüfung weist zunächst fehlende Werte, Nicht-Ganzzahlen, negative Koordinaten, Ausschnitte ohne Fläche und Werte außerhalb des dokumentierten Bereichs zurück. Danach werden die beiden Grenzen für das vollständige Einschließen kontrolliert. Ist eine Summe größer, liegt ein Teil des Ausschnitts außerhalb der Quelle und die Anfrage liefert einen Fehler für ungültige Eingaben.
Diese eindeutige Regel verhindert ein verbreitetes Missverständnis um eine Einheit: Ein 100 Pixel breiter Ausschnitt ab x 0 belegt eine vollständige Spanne von 100 Pixeln und passt exakt in ein 100 Pixel breites Bild. Die Funktion begrenzt, verschiebt oder verkleinert einen ungültigen Bereich nicht, denn eine unbemerkte Änderung kann ein anderes Motiv oder einen anderen Bildaufbau erzeugen. Bilddaten selbst werden ebenfalls nicht untersucht.
Die Entscheidung beruht ausschließlich auf den angegebenen Maßen und Koordinaten und ist deshalb schnell, reproduzierbar sowie für Formulare und automatisierte Abläufe geeignet.
Ergebnis vor dem echten Zuschnitt verwenden
Eine erfolgreiche Antwort enthält Breite und Höhe des entstehenden Ausschnitts. Diese Werte entsprechen dem angeforderten Rechteck, weil die Funktion Geometrie validiert und weder neu skaliert noch verändert. Nutzen Sie die Antwort als Schutz, bevor Sie dieselben Koordinaten an eine Bildbibliothek, einen Mediendienst oder einen eingereihten Renderingauftrag übergeben.
So trennen Sie eine günstige Eingabeprüfung von aufwendiger Dekodierung und halten vorhersehbare Grenzfehler von nachgelagerten Systemen fern. Prüfen Sie in einem Editor nach Bestätigung der Auswahl oder nachdem Vorschaukoordinaten in Pixel des Originals zurückgerechnet wurden. Kontrollieren Sie in einer Datenpipeline Ausschnittmetadaten direkt beim Eingang und leiten Sie fehlerhafte Datensätze zur Korrektur weiter.
Beachten Sie die Ausrichtung: Dreht ein anderer Schritt das Bild tatsächlich, verwenden Sie die Maße nach der Drehung und Koordinaten derselben Orientierung. Bei keinem Weg wird ein Bild übertragen.
Anwendungsfälle
Auswahl eines Editors prüfen
Bestätigen Sie, dass aus einer Vorschau umgerechnete Koordinaten noch in das Original passen.
Importierte Mediendaten kontrollieren
Prüfen Sie gespeicherte Rechtecke und finden Sie Datensätze, die nicht auf ihre Dateien anwendbar sind.
Häufige Fragen
Wird das Bild zugeschnitten oder hochgeladen?
Nein. Die Funktion prüft nur numerische Maße und Koordinaten und liefert die Größe des möglichen Ausschnitts.
Werden gebrochene Koordinaten unterstützt?
Nein. Sämtliche Maße und Koordinaten müssen für die Pixelausrichtung ganzzahlig sein.
Wird ein überstehender Ausschnitt automatisch angepasst?
Nein. Statt einer Änderung liefert die Anfrage einen Fehler für ungültige Eingaben.
Darf der Ausschnitt den Bildrand berühren?
Ja. Ein Ausschnitt darf genau an jedem Rand enden: Ein Zuschnitt mit 100 Pixeln Breite ab x 0 passt exakt in ein Bild mit 100 Pixeln Breite. Abgelehnt wird nur, was über den Rand hinausgeht.
Warum passen Koordinaten aus einer Vorschau nicht zum Originalbild?
Weil eine verkleinerte Vorschau andere Maße hat. Rechnen Sie die Auswahl zuerst auf die Pixel des Originals um, und wenn das Bild gedreht wird, verwenden Sie Maße und Koordinaten nach der Drehung.
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/crop-to-box \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image_width":1920,"image_height":1080,"x":240,"y":120,"width":800,"height":600}'const res = await fetch("https://api.kit.forhosting.com/image/crop-to-box", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image_width": 1920,
"image_height": 1080,
"x": 240,
"y": 120,
"width": 800,
"height": 600
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/crop-to-box",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image_width": 1920,
"image_height": 1080,
"x": 240,
"y": 120,
"width": 800,
"height": 600
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/crop-to-box", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image_width":1920,"image_height":1080,"x":240,"y":120,"width":800,"height":600}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image_width":1920,"image_height":1080,"x":240,"y":120,"width":800,"height":600}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/crop-to-box", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"image_width": 1920,
"image_height": 1080,
"x": 240,
"y": 120,
"width": 800,
"height": 600
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.crop_to_box",
"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
Quellbild und Ausschnitt beschreiben
Tragen Sie bei image_width die gesamte horizontale Pixelzahl und bei image_height die gesamte vertikale Pixelzahl ein. Beschreiben Sie anschließend das Rechteck mit x, y, width und height. Deshalb darf x plus width gleich image_width und y plus height gleich image_height sein.
Funktionsweise der Grenzprüfung verstehen
Horizontal muss x plus width kleiner oder gleich image_width sein. Vertikal muss y plus height kleiner oder gleich image_height sein.
Ergebnis vor dem echten Zuschnitt verwenden
Eine API-Anfrage kostet $0.002; der Browser führt dieselbe deterministische Berechnung lokal aus.
Integrationsbeispiele
Bildverarbeitungswarteschlange schützen
Weisen Sie unzulässige Ausschnittdaten zurück, bevor ein Worker das Quellbild lädt und dekodiert.
Technische Fragen
Darf der Ausschnitt die rechte oder untere Kante berühren?
Ja. Er ist gültig, wenn x plus width image_width oder y plus height image_height entspricht.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Dieselbe deterministische Prüfung ist auch im Browser verfügbar.