Combineur d'images clair/sombre — un PNG pour les fonds blancs et noirs
Fusionnez une image en mode clair et une image en mode sombre en un seul PNG transparent qui affiche l'illustration claire sur blanc et l'illustration sombre sur noir. Importez les deux, prévisualisez le résultat côte à côte et téléchargez un seul fichier adapté au thème pour vos docs, README ou UI — le tout dans votre navigateur.
Ce que fait le combineur d'images clair/sombre
Un PNG, deux rendus
La sortie est une composition alpha pixel par pixel : sur une surface blanche, elle se lit comme votre image claire ; sur une surface noire, comme votre image sombre. Un README, une page de docs ou une UI n'a donc besoin que d'un seul fichier au lieu de deux ou d'une media query.
Deux zones d'import et un aperçu en direct
Choisissez une image en mode clair et une image en mode sombre ; le PNG fusionné apparaît dès que les deux sont chargées, une fois sur une carte blanche et une fois sur une carte noire, pour juger les deux thèmes avant de télécharger.
Export PNG fixe
Le téléchargement produit toujours un PNG nommé light-dark-image.png, généré avec canvas.toDataURL. Aucune sortie JPEG, WebP ou SVG, et aucun réglage de qualité ou de compression.
Un canevas à la taille de la plus grande image
Le résultat reprend la plus grande largeur et la plus grande hauteur du couple, et les deux images sources sont étirées pour remplir ce canevas depuis le coin supérieur gauche. Les ratios d'aspect différents sont déformés, pas complétés par des marges ni recadrés.
Local, sans réglages
Les fichiers sont lus avec FileReader et composés sur un canevas : rien n'est envoyé. Aucun contrôle de luminosité, de contraste, de taille, de position, de fond ou de format ; les seules entrées sont les deux images.
FAQ sur les images clair/sombre
À quoi sert réellement cet outil ?
Il transforme une illustration en mode clair et une illustration en mode sombre en un PNG transparent dont l'apparence dépend du fond : les surfaces blanches affichent la version claire, les surfaces noires la version sombre. Il sert aux ressources adaptées au thème dans les README, la documentation et les UI, et non à générer deux images séparées pour vous.
Quels réglages puis-je modifier ?
Uniquement les deux images sources. Il n'y a aucun contrôle de luminosité, de contraste, de couleur, de position, de mise à l'échelle, de couleur de fond, de format ou de qualité, et aucun réglage fin de la fusion ; les panneaux d'aperçu ne servent qu'à l'affichage.
Quels formats d'entrée et de sortie sont pris en charge ?
L'entrée accepte image/* et utilise le décodeur du navigateur : JPEG, PNG, WebP et GIF fonctionnent ; la sortie est toujours en PNG. Aucun export JPEG, WebP ou SVG n'est proposé.
Puis-je traiter plusieurs paires à la fois ?
Non. Chaque zone ne prend que le premier fichier sélectionné, et la page ne traite qu'une paire clair/sombre à la fois, sans file d'attente, mode par lot ni historique.
Y a-t-il des limites de taille, et que se passe-t-il si les dimensions diffèrent ?
Il n'y a pas de limite de pixels explicite au-delà de ce que permet la mémoire du canevas du navigateur. La sortie est max(largeur) × max(hauteur), et les deux images sont étirées à cette taille depuis le coin supérieur gauche : des ratios différents sont donc déformés, pas complétés ni recadrés.
Tout se passe-t-il en local ?
Oui. Les images sont décodées avec FileReader et fusionnées dans un canevas dans votre navigateur ; rien n'est envoyé et aucun serveur n'intervient. Le résultat reste en mémoire sous forme d'URL de données jusqu'à votre téléchargement.
Quelle est la fidélité du résultat ?
C'est une approximation. Les canaux clairs sont remappés sur 128–255 et les canaux sombres sur 0–127, puis l'alpha et la couleur sont résolus pour que le couple se compose correctement sur un blanc pur et un noir pur ; les couleurs sont quantifiées, un contraste extrême peut perdre des détails, et la formule n'est exacte que sur fond purement blanc ou noir (les surfaces grises ou teintées se mélangent différemment). La transparence provient uniquement de l'alpha de l'image claire, et lorsque les deux images violent l'hypothèse de luminosité, l'alpha du pixel est ramené à zéro.

