Bild prozentual skalieren
Der Rechner für prozentuale Skalierung beantwortet die einfachste Frage der Bildbearbeitung: Wenn ich dieses Bild auf 40 Prozent verkleinere, wie viele Pixel breit und hoch wird es dann?
Im Browser ausführen – kostenlos
Sie geben die ursprüngliche Breite und Höhe sowie den Prozentsatz an und erhalten die resultierenden Abmessungen, auf ganze Pixel gerundet, zusammen mit der endgültigen Megapixelzahl. Es ist reine Arithmetik — es wird kein Bild hochgeladen, verarbeitet oder gespeichert —, daher läuft die Berechnung sofort in Ihrem Browser und identisch über die API, wenn Sie sie in einem Build-Skript, einer Thumbnail-Pipeline oder einer Layoutberechnung benötigen, die die exakte Box kennen muss, die ein Bild einnehmen wird, bevor es überhaupt existiert.
Warum prozentuale Skalierung trügerisch einfach ist
Ein Bild auf einen Prozentsatz zu skalieren sieht nach einer einzigen Multiplikation aus, doch die Details entscheiden darüber, ob Ihr Layout bricht. Jede Seite muss unabhängig skaliert und auf ein ganzes Pixel gerundet werden, denn so etwas wie 640,5 Pixel gibt es nicht. Wer 1920 naiv mit 33 Prozent multipliziert, erhält 633,6, was kein Renderer akzeptiert; dieser Rechner liefert 634. Die Rundungsregel ist besonders bei kleinen Bildern entscheidend: Ein 11-Pixel-Icon auf 15 Prozent zu verkleinern ergibt 1,65 Pixel, und die ehrliche Antwort ist 2, nicht eine abgeschnittene 1, die das Seitenverhältnis stillschweigend verzerrt. Wenn Sie diese Zahlen kennen, bevor Sie das Bild anfassen, können Sie in einem Thumbnail-Auftrag die richtige Canvas-Größe reservieren, die korrekten width- und height-Attribute in Ihr HTML schreiben, damit die Seite beim Laden des Bildes nicht neu umbrochen wird, und überprüfen, ob ein Stapelkonverter das geliefert hat, was Sie angefordert haben. Das Tool Bild prozentual skalieren führt genau diese Berechnung deterministisch durch, sodass die Antwort, die Sie im Browser sehen, Byte für Byte die Antwort ist, die die API Ihrem Code zurückgibt.
Wie die Berechnung funktioniert
Die Formel besteht aus einer Zeile pro Dimension: neue Seite gleich ursprüngliche Seite mal Prozentsatz geteilt durch einhundert, gerundet auf das nächste ganze Pixel. Ein Prozentsatz von 50 halbiert das Bild, 100 lässt es unverändert, und 250 vergrößert es um das Zweieinhalbfache. Breite und Höhe verwenden denselben Faktor, und genau das bewahrt das Seitenverhältnis — abgesehen vom unvermeidlichen Sub-Pixel-Rundungsfehler, wenn ganze Pixel das exakte Verhältnis nicht ausdrücken können. Das Ergebnis enthält außerdem die Megapixelzahl der Ausgabe, also die Zahl, die Dateigröße und Speicherbedarf tatsächlich vorhersagt: Eine Skalierung auf 50 Prozent halbiert die Pixel nicht, sondern viertelt sie, denn die Fläche wächst mit dem Quadrat der Seiten. Der Prozentsatz muss positiv sein; null oder ein negativer Wert wird als ungültige Eingabe abgelehnt, statt stillschweigend ein Bild mit null Abmessungen zu erzeugen, und eine berechnete Seite kann nie unter ein Pixel fallen. Jedes Beispiel auf dieser Seite wurde durch Ausführen des echten Handlers erzeugt — was Sie lesen, ist also genau das, was Sie bekommen.
Wo es in einen echten Arbeitsablauf passt
Frontend-Entwickler nutzen es, um responsive srcset-Einträge zu berechnen: Aus einem 2400-Pixel-Master ergeben die 25-, 50- und 75-Prozent-Varianten 600, 1200 und 1800 Pixel, und diese Zahlen wandern direkt ins Markup. Designer verwenden es, wenn ein Kunde ein Foto mit 30 Prozent für einen Newsletter anfragt und jemand bestätigen muss, dass das Ergebnis noch die Mindestbreite der E-Mail-Vorlage erfüllt. Backend-Ingenieure rufen die API innerhalb von Pipeline-Prüfungen auf, vergleichen die Abmessungen, die ein Konverter erzeugt hat, mit denen, die er hätte erzeugen sollen, und lassen den Auftrag fehlschlagen, wenn sie auseinanderfallen. Da diese Fähigkeit reine Mathematik ohne Dateiverarbeitung ist, kostet es nichts, sie viele Male auszuführen: Die Browser-Version auf dieser Seite ist kostenlos und unbegrenzt, und die API berechnet bei der Automatisierung nur $0.002 pro Aufruf. Wenn Sie stattdessen die Pixel selbst transformieren müssen, statt die Abmessungen zu berechnen, ist das eine andere Fähigkeit; diese hier existiert, damit der Planungsschritt exakt, schnell und günstig genug ist, um für jedes Bild im Stapel zu laufen.
Anwendungsfälle
Responsive srcset-Varianten planen
Berechnen Sie die exakten Pixelbreiten Ihrer 25-, 50- und 75-%-Varianten aus einem Master-Bild, bevor Sie das Markup schreiben.
Einen Stapel-Skalierungsauftrag verifizieren
Vergleichen Sie die Abmessungen, die Ihre Thumbnail-Pipeline erzeugt hat, mit denen, die der Prozentsatz vorgibt, und lassen Sie den Auftrag bei Abweichung fehlschlagen.
Eine Kundenanfrage präzise beantworten
Ein Foto mit 30 Prozent für einen Newsletter: Bestätigen Sie, dass das Ergebnis noch die Mindestbreite der Vorlage erfüllt, bevor Sie irgendetwas exportieren.
Häufige Fragen
Was kostet es?
Im Browser auf dieser Seite ist es kostenlos und unbegrenzt. Über die API kostet es $0.002 pro Aufruf.
Muss ich ein Bild hochladen?
Nein. Sie geben nur Breite, Höhe und Prozentsatz an. Nichts wird hochgeladen, verarbeitet oder gespeichert.
Wie werden die Abmessungen gerundet?
Jede Seite wird mit dem Prozentsatz multipliziert und auf das nächste ganze Pixel gerundet. Ein Ergebnis kann nie unter ein Pixel fallen.
Kann ich ein Bild auch vergrößern statt nur verkleinern?
Ja. Ein Prozentsatz über 100 vergrößert das Bild: 200 verdoppelt jede Seite, 250 skaliert um das Zweieinhalbfache.
Warum wurde mein Prozentsatz abgelehnt?
Der Prozentsatz muss eine positive Zahl sein. Null oder negative Werte sind ungültige Eingaben, und der Aufruf wird nicht berechnet.
Halbiert eine Skalierung auf 50 % die Pixelanzahl?
Nein. Sie halbiert jede Seite und viertelt damit die Gesamtpixelzahl, denn die Fläche skaliert mit dem Quadrat der Seiten.
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/resize-percentage \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1920,"height":1080,"percentage":50}'const res = await fetch("https://api.kit.forhosting.com/image/resize-percentage", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1920,
"height": 1080,
"percentage": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/resize-percentage",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1920,
"height": 1080,
"percentage": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/resize-percentage", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1920,"height":1080,"percentage":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1920,"height":1080,"percentage":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/resize-percentage", 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": 1920,
"height": 1080,
"percentage": 50
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.resize_percentage",
"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. |