Convertissez le DPI d’une image à taille d’impression constante
Modifier le DPI d’une image peut signifier corriger une simple métadonnée ou changer réellement le nombre de pixels disponible pour un tirage donné.
Lancer gratuitement
Ce calculateur traite clairement le second cas. Indiquez la largeur et la hauteur actuelles en pixels, le DPI actuel et le DPI cible. Il détermine d’abord les dimensions physiques du tirage, puis calcule les pixels nécessaires pour conserver exactement ce format à la nouvelle densité. Vous obtenez ainsi une spécification fiable pour le rééchantillonnage, l’exportation, le prépresse ou la remise en production.
Comprenez le lien entre pixels, DPI et format d’impression
Une image ne possède aucun format imprimé absolu tant qu’une densité n’est pas choisie. Sa largeur physique en pouces correspond à sa largeur en pixels divisée par le DPI actuel, et la même règle vaut pour la hauteur. Ainsi, une image de 2400 par 3000 pixels interprétée à 300 DPI occupe 8 par 10 pouces. Cette capacité calcule séparément les deux axes et fournit aussi les centimètres pour faciliter la préparation. Le terme DPI désigne ici, selon l’usage courant en production graphique, les pixels par pouce ; il ne suppose aucun motif de points, aucune trame d’encre ni résolution propre à une imprimante. Modifier seulement la balise DPI des métadonnées ne crée aucun détail. L’affichage préalable des dimensions physiques vous permet de vérifier le format voulu et de repérer des métadonnées erronées. Dimensions et DPI doivent être des nombres finis strictement positifs : une valeur nulle, négative, infinie ou absente ne décrit ni une image matricielle ni un tirage exploitable.
Passez au DPI cible sans modifier les dimensions physiques
Une fois la largeur et la hauteur physiques connues, les dimensions cibles s’obtiennent en multipliant chaque mesure en pouces par le DPI souhaité. Une densité supérieure agrandit donc la grille demandée et une densité inférieure la réduit, tandis que le format nominal reste identique. Le calculateur arrondit chaque dimension au pixel entier le plus proche, car un fichier matriciel ne peut contenir de fraction de pixel. L’écart avec la valeur mathématique demeure inférieur à un demi-pixel cible et reste normalement négligeable. La réponse indique aussi un facteur d’échelle égal au DPI cible divisé par le DPI actuel. Un facteur 2 double chaque dimension linéaire et multiplie approximativement le nombre total de pixels par quatre ; 0.5 les divise par deux. Utilisez ces dimensions dans la boîte de rééchantillonnage ou d’exportation de votre logiciel lorsqu’une nouvelle grille est réellement nécessaire. Pour une simple correction de métadonnées, conservez plutôt les pixels d’origine.
Exploitez le résultat avec discernement en production
Le calcul fournit les dimensions requises pour une densité choisie, mais il ne peut inventer les détails absents de la source. Agrandir fortement une petite image crée des pixels par interpolation, et non de nouvelles textures, une meilleure mise au point ou davantage d’informations. Considérez les dimensions cibles comme une exigence de production et comparez-les à la source avant de rééchantillonner. Une baisse modérée peut convenir aux photographies observées de loin, tandis que les beaux-arts, les petits caractères et les dessins au trait peuvent justifier une densité supérieure. Gardez un fichier maître intact, utilisez la meilleure source disponible et contrôlez le rendu avant impression. Vérifiez aussi que l’imprimeur applique le même format fini sans ajouter ensuite fond perdu, bordure ou recadrage, car ces opérations modifient le canevas requis. Chaque requête API coûte $0.002, et ce calcul déterministe rend un résultat identique pour des entrées identiques.
Cas d’usage
Préparer une photo pour un tirage fixe
Transformez les dimensions existantes en grille exacte demandée par le laboratoire au DPI retenu.
Planifier un rééchantillonnage
Consultez le facteur d’échelle et les dimensions finales avant de choisir l’interpolation.
Contrôler une création reçue
Vérifiez son format physique implicite et comparez-le aux impératifs de production.
Questions fréquentes
Changer le DPI améliore-t-il la qualité ?
Non. Une cible supérieure peut demander plus de pixels, mais l’interpolation ne recrée aucun détail absent.
Pourquoi les dimensions sont-elles arrondies ?
Une image matricielle exige des pixels entiers ; chaque valeur est arrondie à l’entier le plus proche.
Le format physique du tirage change-t-il ?
Non. Les pixels cibles sont calculés pour préserver le format déduit des pixels et du DPI actuels.
DPI et PPI sont-ils équivalents ?
Ici, DPI désigne les pixels par pouce selon l’usage graphique. Les vrais points dépendent de l’imprimante.
Que se passe-t-il avec un DPI nul ou négatif ?
La requête échoue comme entrée incorrecte, car la conversion exige des DPI strictement positifs.
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/dpi-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width_px":2400,"height_px":3000,"current_dpi":300,"target_dpi":150}'const res = await fetch("https://api.kit.forhosting.com/image/dpi-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width_px": 2400,
"height_px": 3000,
"current_dpi": 300,
"target_dpi": 150
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/dpi-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width_px": 2400,
"height_px": 3000,
"current_dpi": 300,
"target_dpi": 150
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/dpi-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width_px":2400,"height_px":3000,"current_dpi":300,"target_dpi":150}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width_px":2400,"height_px":3000,"current_dpi":300,"target_dpi":150}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/dpi-convert", 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_px": 2400,
"height_px": 3000,
"current_dpi": 300,
"target_dpi": 150
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.dpi_convert",
"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. |