Calculateur de pixellisation
Une image de 1920 × 1080 découpée en blocs de 16 pixels demande 120 colonnes sur 68 rangées, soit 8160 blocs, et sa dernière rangée ne fait que 8 pixels de haut. Préparez la grille de la pixellisation avant de toucher aux couleurs. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Largeur
- 1 920
- Hauteur
- 1 080
- Taille du bloc
- 16
- Colonnes
- 120
- Lignes
- 68
- Total de blocs
- 8 160
- Largeur du bord droit
- 16
Le calculateur de pixellisation convertit la largeur et la hauteur d'une image ainsi que la taille des blocs carrés en une grille exacte. Il indique le nombre de colonnes et de lignes, le total de blocs et les dimensions des blocs partiels sur les bords droit et inférieur. Il permet de préparer un filtre, de créer une mosaïque, d'estimer la charge ou d'accorder une maquette à son implémentation. Le calcul est déterministe et ne nécessite ni transfert ni décodage d'image.
Transformez les dimensions en une grille de blocs
Un effet de pixellisation remplace des groupes de pixels sources voisins par une seule couleur représentative. Avant de traiter les couleurs, une implémentation doit connaître le nombre de groupes qui tiennent en largeur et en hauteur. Saisissez les dimensions de l'image en pixels, puis choisissez la longueur du côté de chaque bloc carré.
Le calculateur divise chaque dimension par la taille du bloc et arrondit au nombre supérieur. Cet arrondi est essentiel, car une dimension n'est pas toujours un multiple exact de la taille retenue. Même un petit reste à droite exige sa propre colonne ; l'ignorer laisserait une bande non traitée.
Vous pouvez employer ces valeurs comme bornes de boucle, pour préparer un canevas, estimer une charge, créer des jeux d'essai ou afficher un aperçu. L'outil calcule uniquement la géométrie : il ne lit pas les pixels, n'échantillonne pas les couleurs, ne redimensionne aucun fichier et ne produit aucune image transformée.
Interprétez les blocs partiels aux limites
Lorsque les deux dimensions sont exactement divisibles par la taille du bloc, toutes les cellules ont les mêmes mesures. Les formats d'image réels laissent toutefois souvent un reste. La dernière colonne peut être plus étroite et la dernière ligne moins haute.
En l'absence de reste, la valeur correspond à la taille complète du bloc et non à zéro, puisque le dernier bloc est entier. Lorsqu'il existe un reste, la valeur indique précisément le nombre de pixels sources encore disponibles. La division reste arrondie au supérieur, afin que chaque pixel source appartienne à une seule cellule.
Cette information facilite le découpage des rectangles d'échantillonnage, l'allocation de tampons de mosaïque et la vérification que les zones calculées ne dépassent jamais les limites de l'image d'origine.
Choisissez une taille de bloc valide et pertinente
La largeur, la hauteur et la taille du bloc doivent être des entiers positifs, puisque le calcul porte sur des pixels discrets. Le bloc doit également tenir dans les deux dimensions. Dans l'intervalle valide, les petits blocs conservent davantage de détails reconnaissables et créent plus de cellules.
Les grands blocs donnent une abstraction plus grossière avec moins de cellules. Vous pouvez comparer plusieurs tailles afin d'équilibrer le rendu et le travail de traitement avant d'appliquer un véritable filtre. Pour un aperçu adaptatif, recommencez le calcul après chaque modification des dimensions ou du bloc au lieu de redimensionner un ancien décompte, car l'arrondi des bords peut changer le nombre de lignes ou de colonnes.
Aucun pixel n'est transféré, car seules les dimensions numériques sont nécessaires.
Cas d’usage
Préparer une boucle de pixellisation
Obtenez les bornes exactes des lignes et colonnes avant d'échantillonner et de peindre des zones carrées sur un canevas.
Estimer la charge d'une mosaïque
Utilisez le total de blocs pour comparer le travail de traitement produit par plusieurs tailles possibles.
Gérer les bords irréguliers
Exploitez les mesures des bords droit et inférieur pour éviter de rogner des pixels ou de dépasser l'image.
Questions fréquentes
Pourquoi un bloc plus grand que l'image est-il refusé ?
Le bloc carré doit tenir dans les deux dimensions.
Combien de blocs donne une image de 1920 × 1080 avec des blocs de 16 pixels ?
Elle donne 120 colonnes sur 68 rangées, soit 8160 blocs. La largeur se divise exactement, mais 1080 n'est pas un multiple de 16 : la rangée du bas ne fait que 8 pixels de haut.
Pourquoi le calculateur arrondit-il au supérieur et non à l'inférieur ?
Parce que la bande étroite qui reste à droite ou en bas a elle aussi besoin de ses blocs. Arrondir vers le bas laisserait cette bande intacte ; vers le haut, chaque pixel appartient à un seul bloc.
Quelle taille de bloc choisir ?
Les petits blocs gardent davantage de détails reconnaissables et produisent plus de blocs ; les grands donnent un rendu plus grossier et abstrait avec moins de blocs. Essayez plusieurs tailles et comparez avant d'appliquer le vrai filtre.
L'outil pixellise-t-il ma photo ?
Non. Il calcule seulement la géométrie de la grille à partir de la largeur, de la hauteur et de la taille du bloc. Il n'ouvre jamais l'image, ne relève aucune couleur et ne crée aucun fichier, donc les mêmes nombres donnent toujours la même grille.
Outils associés
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/pixelate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1920,"height":1080,"block_size":16}'const res = await fetch("https://api.kit.forhosting.com/image/pixelate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1920,
"height": 1080,
"block_size": 16
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/pixelate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1920,
"height": 1080,
"block_size": 16
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/pixelate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1920,"height":1080,"block_size":16}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1920,"height":1080,"block_size":16}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/pixelate", 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,
"block_size": 16
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.pixelate",
"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. |
Notes techniques
Transformez les dimensions en une grille de blocs
Les colonnes et les lignes décrivent la grille complète, tandis que total_blocks correspond à leur produit.
Interprétez les blocs partiels aux limites
Les résultats right_edge_width et bottom_edge_height rendent ces cas limites explicites. Cette convention simplifie le rendu : les cellules ordinaires utilisent block_size, tandis que la dernière colonne et la dernière ligne utilisent les mesures indiquées.
Choisissez une taille de bloc valide et pertinente
Un carré plus grand que l'un des côtés ne peut pas former la grille demandée ; cette entrée renvoie donc invalid_input plutôt qu'un résultat ambigu. La version web s'exécute localement ; chaque requête API automatisée coûte $0.002.
Questions techniques
Comment les colonnes et les lignes sont-elles calculées ?
Chaque dimension est divisée par block_size puis arrondie au supérieur, afin d'inclure les blocs partiels des bords droit et inférieur.
Que se passe-t-il lorsque la division est exacte ?
Les mesures des bords valent block_size, car la dernière colonne et la dernière ligne contiennent des blocs entiers.
Cet outil modifie-t-il ou transfère-t-il mon image ?
Non. Il reçoit uniquement width, height et block_size, puis calcule la géométrie sans lire de fichier image.
Combien coûte une requête API ?
Chaque requête API coûte $0.002. Le même calcul déterministe est accessible gratuitement dans le navigateur.