Redimensionner une image : calculer largeur et hauteur
Redimensionner une image aux dimensions voulues calcule sa taille en pixels après redimensionnement.
Lancer gratuitement
Indiquez la largeur et la hauteur d’origine, puis une largeur cible, une hauteur cible ou les deux. Si vous ne fournissez qu’une dimension cible, le calculateur déduit l’autre des proportions d’origine et l’arrondit au pixel entier le plus proche. Si vous fournissez les deux, il renvoie exactement ces dimensions. Le résultat est déterministe et convient aux pipelines d’images, aux mises en page adaptatives, à la validation des téléversements et à la génération de commandes, sans téléverser ni décoder d’image.
Calculez une taille proportionnelle avec une seule cible
Commencez par saisir la largeur et la hauteur en pixels de l’image source. Indiquez ensuite target_width ou target_height. Le calculateur divise la dimension cible choisie par la dimension d’origine correspondante afin d’obtenir le facteur d’échelle, applique ce facteur à l’autre côté, puis arrondit le résultat au pixel entier le plus proche. Ainsi, une image de 1920 sur 1080 redimensionnée à une largeur de 1280 devient une image de 1280 sur 720. Cette méthode conserve les proportions de la source aussi fidèlement que le permettent les pixels entiers : les cercles restent ronds et les sujets ne semblent pas étirés. Elle est particulièrement utile lorsqu’une mise en page fixe un axe et laisse l’autre s’adapter, par exemple une colonne de blogue de largeur fixe ou une galerie dont les rangées ont une hauteur fixe. Cet outil calcule uniquement les dimensions : il ne téléverse, ne décode, ne rééchantillonne, ne recadre, ne compresse et ne modifie aucune image. Vous pouvez transmettre les dimensions obtenues à une bibliothèque graphique, un processeur en ligne de commande, un pipeline de contenu ou une règle de rendu du navigateur.
Utilisez les deux cibles pour obtenir un cadre exact
Indiquez target_width et target_height lorsque la destination exige un cadre aux dimensions exactes en pixels. Dans ce mode, le calculateur renvoie directement les deux valeurs demandées. Il ne modifie discrètement aucune valeur pour conserver les proportions d’origine, car cela contredirait les dimensions que vous avez explicitement fournies. Cette distinction compte pour les emplacements publicitaires, les fiches de places de marché, les modèles d’impression, les écrans et les anciens systèmes qui n’acceptent qu’un canevas fixe. Si les proportions cibles diffèrent de celles de la source, un logiciel de traitement devra choisir la suite : étirer l’image, la recadrer pour remplir le cadre ou l’ajuster en laissant de l’espace vide. Cette capacité ne prend volontairement pas cette décision visuelle. Elle fournit un résultat clair et prévisible que le code en aval peut associer à une stratégie explicite. Comparez les proportions avant d’étirer des photographies, logos, schémas, illustrations ou textes, sans quoi une déformation visible risque d’apparaître.
Gérez de façon fiable les pixels, l’arrondi et la validation
Les quatre dimensions sont des entiers positifs, puisque les images matricielles sont mesurées en pixels entiers. La largeur et la hauteur d’origine sont toujours obligatoires, et au moins une dimension cible doit être présente. Les zéros, valeurs négatives, fractions, valeurs non numériques et dimensions dépassant la limite publiée d’un milliard de pixels sont rejetés plutôt que convertis. Avec une seule cible, le côté calculé utilise l’arrondi standard à l’entier le plus proche et ne descend jamais sous un pixel. Pour une très petite image, l’arrondi peut produire un rapport légèrement différent du rapport mathématique, ce qui est inévitable puisqu’un pixel fractionnaire n’existe pas. Pour une automatisation reproductible, envoyez les dimensions indiquées dans les métadonnées du fichier plutôt que ses dimensions CSS d’affichage ou une estimation manuelle. Une même entrée produit toujours la même sortie : aucun accès réseau, hasard, horloge, examen d’image ni état caché n’intervient. Le résultat peut donc être mis en cache, testé avec des fixtures golden et réutilisé dans des clients API comme dans des parcours de navigateur.
Cas d’usage
Préparer des largeurs d’image adaptatives
Calculez la hauteur correspondante pour chaque largeur fixe avant de générer les variantes d’une image.
Valider une taille de livraison exacte
Déterminez le cadre demandé pour un emplacement publicitaire, une fiche commerciale ou un écran.
Construire des commandes de redimensionnement
Transformez les métadonnées source et un côté demandé en dimensions entières pour un pipeline graphique.
Questions fréquentes
Que se passe-t-il si je fournis uniquement une largeur cible ?
La hauteur est calculée selon les proportions d’origine et arrondie au pixel entier le plus proche.
Que se passe-t-il si je fournis uniquement une hauteur cible ?
La largeur est calculée selon les proportions d’origine et arrondie au pixel entier le plus proche.
Puis-je fournir les deux dimensions cibles ?
Oui. Les deux valeurs sont renvoyées telles quelles, même si leur rapport diffère de celui de l’image source.
Cet outil téléverse-t-il ou redimensionne-t-il mon image ?
Non. Il effectue uniquement un calcul et ne reçoit, décode, conserve ni modifie jamais les données de l’image.
Combien coûte une requête API ?
Chaque requête API coûte $0.002.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/image/resize-to-dimensions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1920,"height":1080,"target_width":1280}'const res = await fetch("https://api.kit.forhosting.com/image/resize-to-dimensions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1920,
"height": 1080,
"target_width": 1280
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/resize-to-dimensions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1920,
"height": 1080,
"target_width": 1280
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/resize-to-dimensions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1920,"height":1080,"target_width":1280}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1920,"height":1080,"target_width":1280}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/resize-to-dimensions", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"width": 1920,
"height": 1080,
"target_width": 1280
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.resize_to_dimensions",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |