ForHosting KIT · Images

Appliquez un filtre sépia aux pixels RGB d’une image

Le rouge pur, 255, 0, 0, devient le brun chaud 100, 89, 69 avec la matrice sépia standard, et chaque canal est arrondi et maintenu entre 0 et 255. Saisissez les valeurs RGB des pixels et récupérez leur version sépia dans le même ordre. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Appliquez un filtre sépia à des pixels d’image déjà décodés sans transférer de fichier ni dépendre d’un codec. Fournissez une liste ordonnée d’échantillons RGB et recevez les échantillons correspondants dans des tons bruns chaleureux, calculés avec la matrice de transformation sépia standard. Chaque canal transformé est arrondi puis borné dans l’intervalle valide de zéro à 255. Une validation complète empêche les pixels incomplets ou incorrects de modifier silencieusement le résultat, tandis que le traitement déterministe convient aux chaînes de production, contrôles dans le navigateur, formations et tests automatisés exacts.

Préparez des échantillons RGB complets

Placez les pixels décodés dans le champ samples sous forme de liste non vide d’objets. Chaque objet doit contenir les canaux r, g et b, chacun étant une valeur numérique finie comprise entre zéro et 255 inclus. Les entiers sont habituels, mais les valeurs fractionnaires sont acceptées, car certaines chaînes d’image produisent des échantillons intermédiaires en virgule flottante avant l’encodage final.

Le convertisseur vérifie chaque enregistrement et ne considère jamais qu’un composant absent vaut zéro. Cette rigueur protège la structure de l’image : ignorer un enregistrement décalerait tous les pixels suivants, tandis que remplacer une valeur inventerait une information de couleur. Conservez l’ordre du raster, car la sortie reproduit exactement l’ordre d’entrée.

Une requête accepte jusqu’à cent mille enregistrements. Découpez les rasters plus grands en blocs de taille fixe, puis concaténez les réponses dans le même ordre. Cette capacité traite des échantillons RGB, pas des octets PNG, JPEG, AVIF ou WebP.

Décodez d’abord le fichier et conservez séparément largeur, hauteur, pas de ligne, orientation et canal alpha.

Comprenez la transformation sépia standard

Chaque pixel de sortie provient de trois sommes pondérées. Le rouge vaut 0.393 fois r plus 0.769 fois g plus 0.189 fois b. Le vert emploie 0.349 fois r plus 0.686 fois g plus 0.168 fois b.

Le bleu emploie 0.272 fois r plus 0.534 fois g plus 0.131 fois b. Cette matrice sépia courante modifie la luminance et l’équilibre des canaux, produit des hautes lumières dominées par des rouges et verts chauds, et atténue le bleu. Le convertisseur arrondit chaque somme à l’entier le plus proche, puis la borne dans l’intervalle inclusif de zéro à 255.

Ce bornage est indispensable, car les lignes de la matrice peuvent dépasser 255 pour des pixels clairs. Sans lui, un tampon d’octets ultérieur pourrait déborder, refuser la valeur ou afficher une couleur inattendue. La réponse contient la matrice, les échantillons convertis et leur nombre afin que journaux et tests précisent la transformation employée.

Le calcul est pur et déterministe : aucun réseau, modèle, hasard, horaire actuel, profil colorimétrique caché ou cache mutable. Il ne linéarise pas le RGB corrigé par gamma, n’interprète pas les profils ICC, ne simule pas une pellicule, n’ajoute pas de grain, ne préserve pas la transparence et ne mélange pas le résultat avec l’original.

Intégrez et contrôlez le résultat converti

Utilisez la liste samples renvoyée comme remplacement positionnel de la liste RGB transmise. Le champ count doit être égal au nombre d’enregistrements d’entrée ; comparez-les avant de reconstruire une tuile, une ligne, une miniature, un tampon de canevas ou un raster complet. Si l’image originale contient de la transparence, gardez ses valeurs alpha dans un tampon parallèle et restaurez-les à l’encodage, car ce contrat transforme uniquement le rouge, le vert et le bleu.

Un bon jeu de régression comprend le noir, le blanc, un gris neutre, les trois couleurs primaires pures, une valeur fractionnaire et un enregistrement incomplet qui doit échouer. Le blanc vérifie le bornage des trois résultats à 255. Les couleurs pures révèlent une modification accidentelle des coefficients ou de l’ordre des canaux.

Considérez les erreurs de validation comme des défauts du décodage ou de la construction de requête, et non comme des incidents temporaires à réessayer sans changement. Corrigez les canaux absents, valeurs hors plage ou NaN avant un nouvel envoi.

Créez des tampons d’image sépia

Transformez des pixels RGB décodés en échantillons sépia chaleureux, puis restaurez les dimensions du raster et encodez le résultat.

Produisez des références de test exactes

Générez des valeurs attendues déterministes pour tester du code de canevas, des bibliothèques d’image et des chaînes de conversion.

Quelle matrice sépia est utilisée ?

Le convertisseur emploie les lignes [0.393, 0.769, 0.189], [0.349, 0.686, 0.168] et [0.272, 0.534, 0.131] pour produire le rouge, le vert et le bleu.

Que se passe-t-il si un canal transformé dépasse 255 ?

Chaque résultat pondéré est arrondi à l’entier le plus proche, puis borné dans l’intervalle inclusif de zéro à 255.

La capacité accepte-t-elle les fichiers encodés ou conserve-t-elle alpha ?

Non. Elle accepte uniquement des enregistrements RGB décodés. Gardez alpha et les dimensions séparément, puis encodez les échantillons renvoyés.

Quelle couleur donne le blanc pur en sépia ?

Il devient 255, 255, 239, un crème chaud. Les sommes du rouge et du vert dépassent 255 et restent au maximum, tandis que le bleu baisse un peu : c'est ce qui réchauffe les hautes lumières du sépia.

Que se passe-t-il s'il manque un canal à un pixel ?

Toute la conversion s'arrête et indique la position et le canal manquant. Sauter ce pixel décalerait tous les suivants, et compléter une valeur inventerait une couleur que vous n'avez jamais fournie.

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.

POSThttps://api.kit.forhosting.com/image/sepia-convert

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é.

curl -X POST https://api.kit.forhosting.com/image/sepia-convert \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"samples":[{"r":255,"g":0,"b":0},{"r":30,"g":120,"b":220}]}'
{
  "samples": [
    {
      "r": 255,
      "g": 0,
      "b": 0
    },
    {
      "r": 30,
      "g": 120,
      "b": 220
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.sepia_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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_samples100000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Préparez des échantillons RGB complets

Si l’échantillon 4 ne contient pas b, par exemple, toute la requête échoue avec une erreur invalid_input indiquant cet indice commençant à zéro et le canal manquant.

Intégrez et contrôlez le résultat converti

L’exécuteur du navigateur et l’API utilisent la même fonction solve : vous pouvez donc contrôler quelques pixels représentatifs avant d’automatiser un traitement plus vaste. L’utilisation dans le navigateur est gratuite et chaque requête API coûte $0.002.

Examinez des couleurs représentatives

Contrôlez une petite palette dans le navigateur avant d’exécuter la même matrice par une chaîne API automatisée.

Que se passe-t-il si un canal manque dans un échantillon ?

La requête échoue avec invalid_input et indique l’indice commençant à zéro ainsi que le canal r, g ou b absent.

Combien coûte une requête API ?

Chaque requête API coûte $0.002. Vous pouvez aussi exécuter gratuitement la même conversion déterministe dans le navigateur.

Consulter la documentation complète du KIT →