Existe-t-il un moyen simple de coloriser par programme les images dans .NET? Fondamentalement, nous avons une image en noir et blanc et avons besoin de mettre une couche de rose par-dessus et de réduire l'opacité de ce calque pour rendre l'image colorisée en rose."Colorisation" des images dans .NET
Répondre
Vous devriez utiliser la magnifique bibliothèque ImageMagick. Il a des liaisons .NET donc pas de problème là-bas.
Amusez-vous! :)
La manière qui vient à l'esprit est d'utiliser les paquets de dessin pour dessiner un rectangle sur l'image dans une couleur donnée (vous pouvez définir alpha). Ce n'est pas très efficace mais, avec la mise en cache, cela ne ferait aucun mal, même sur un serveur occupé.
Ceci est un peu trop sur mesure pour une méthode .NET Framework .. Si vous ne trouvez pas une solution unique d'appel de méthode. Je poste quelque chose qui pourrait être quelque chose à regarder.
Si vous avez un fichier WPF, vous pouvez charger l'image dans un contrôle. Avoir un autre contrôle (rectangle avec remplissage rose et transparence) sur le dessus. (Utilisez quelque chose comme une grille pour la mise en page de sorte que les deux se chevauchent parfaitement) Ensuite, vous pouvez
RenderTargetBitmap bmp = new RenderTargetBitmap(imageWidth,imageHeight,
DPIHoriz, DPIVert,
PixelFormats.Pbrga32);
// if you don't want to make the controls 'visible' on screen, you need to trigger size calculations explicitly.
grid.Measure(new Size(imageWidth, imageHeight));
grid.Arrange(new Rect(0,0, imageWidth, imageHeight);
bmp.Render(grid);
Ainsi, vous obtenez tout ce que vous voyez à l'écran, écrit dans le Bitmap en mémoire. Vous pourriez alors l'enregistrer. Si cela ne fonctionne pas, vous pouvez opter pour un contrôle de niveau de pixel avec la classe WriteableBitmap et effectuer un travail d'octet.
Je pense que ce sera un peu plus compliqué si vous voulez colorier une image plutôt que de simplement mettre un calque smi-transparent dessus. Si vous voulez avoir le même effet que le mode de calque "screen" dans PhotoShop, vous devez remplacer toutes les nuances de noir dans l'image par les nuances de la nouvelle couleur pour garder les parties blanches blanches.
Il peut très certainement être fait en .NET mais je suppose qu'il ne serait pas mal de regarder dans une bibliothèque de quelque sorte.
- 1. Colorisation et permutation des couleurs avec PHP GD Image Library?
- 2. Télécharger des images dans Windows Mobile 6 in .net
- 3. Comment effectuer une meilleure fonction de colorisation?
- 4. images pour les boutons .NET
- 5. Chargement des images dans GD
- 6. Chargement des images dans J2ME?
- 7. Firefox demandant des images lentement
- 8. .NET TreeView n'affichera pas les images
- 9. Fusionner deux images en C# /. NET
- 10. ASP .Net MVC - Images non affichées dans la version publiée
- 11. Stockage des images
- 12. Écrire des images?
- 13. Animer des images UIButton
- 14. Mise à l'échelle des images dans IE
- 15. Redimensionner des images dans le répertoire
- 16. Définition des images d'arrière-plan dans JFrame
- 17. Lire des images PPM dans C
- 18. Enregistrer des images dans Outlook 2007
- 19. Optimisation des images dans un fichier jar
- 20. stocker des images dans l'application iPhone
- 21. stocker des images dans le serveur sql
- 22. Afficher des images dans gsp (grails)
- 23. Chargement dynamique des images dans WPF
- 24. Itérer des images dans un PictureBox
- 25. Coller des images ensemble
- 26. Redimensionnement des images
- 27. Quelles bibliothèques sont disponibles pour manipuler des images super-larges dans .Net
- 28. Comment (par programmation) ajouter des images à AxMSComctlLib.AxImageList et la liste des images liées à AxMSComctlLib.AxToolbar
- 29. composant .NET pour afficher et annoter des documents et des images
- 30. images multiples dans un listView