Supposons qu'il y a 3 cercles : rouge, bleu, noir.
Je veux seulement que le cercle noir reste. Comment puis-je supprimer les cercles rouges et bleus ?
Supposons qu'il y a 3 cercles : rouge, bleu, noir.
Je veux seulement que le cercle noir reste. Comment puis-je supprimer les cercles rouges et bleus ?
Comme vous avez demandé une solution en PHP:
Commencez par charger votre image avec imagecreatefrompng ou les fonctions similaires pour d'autres formats d'image
Ensuite, utilisez imagesx et imagesy pour obtenir la taille de l'image.
Maintenant, vous pouvez boucler sur tous les pixels via
for ($i = 0; $i < $imageWidth; $i++) {
for ($j = 0; $j < $imageHeight; $j++) {
// vérifiez la couleur et remplacez
}
}
Enfin, utilisez imagecolorat pour obtenir la couleur (vérifiez si elle se situe dans une plage spécifique, ne prenez pas seulement le noir comme une bonne couleur, mais aussi toutes les couleurs qui ont >= 250 pour chaque valeur de rouge, vert et bleu par exemple)
... et imagecolorset pour définir la couleur
Vous pouvez maintenant enregistrer l'image en utilisant imagepng par exemple.
ImageMagick le fera. Il suffit d'exécuter cette commande :
convert circles.png -channel black -white-threshold 10% circles2.png
Vous n'avez pas précisé ce qu'il faut faire avec le vert. Ce script opte pour la solution facile et élimine également le vert. En fait, il élimine tout ce qui n'est pas noir.
La librairie RMagick vous permet de piloter ImageMagick avec Ruby. Malheureusement, cela ne fonctionne pas dans ma distribution, donc je ne peux pas vous préparer un exemple. Cependant, utiliser system ou backtick pour exécuter la commande fonctionne très bien.
Si vous savez quel format d'image est utilisé, vous pourriez probablement utiliser cette information pour éviter d'accéder via les valeurs de pixels (ce qui pourrait endommager la qualité de l'image), sinon faites quelque chose de similaire à ceci :
Cela repose sur le fait qu'il y a une couleur d'arrière-plan donnée à tout moment à laquelle les pixels peuvent être définis et que vous pouvez identifier les couleurs à supprimer.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.