Mathod95
-
13 nov. 2012 à 17:02
BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 2012
-
27 nov. 2012 à 19:29
Bonjour, je suis actuellement en BTS SIO et pour un projet je dois entrer une image dans un tableau pour ensuite pouvoir la modifier pixel par pixel, seulement je n'ai aucune idée de comment procéder, je ne sais même pas comment entrer l'image dans un tableau (tout ceci en C#, en windows form)...
Des suggestions ?
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 14 nov. 2012 à 13:34
Effectivement, avec les méthodes GetPixel() et SetPixel() de la classe Bitmap, tu peux faire les traitements sur l'image.
Cependant, ces méthodes sont EXTREMEMENT lentes. En gros, si tu as 5 ou 10 pixels à modifier, c'est très bien, c'est tu veux modifier les 10 millions de pixels de ton images, c'est pas une bonne idée.
Pour ce genre de traitements, tu peux t'intéresser à la méthode LockBits. Voici un site qui en parle. Un exemple plus succinct se trouve ici.
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Bonjour, merci de vos réponses rapides. Nous travaillons sur une image de 100 pixels / 100, je pense donc la classe Bitmap plus appropriée. Mais comment insérer mon image dans un tableau ?
BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 20121 27 nov. 2012 à 19:29
Bonjour
Dans un tableau .... graphiquement ?
si c'est pour afficher l'image et modifier un pixel par un click droit par exemple le plus simple je pense
est de définir un graphique et de dessiner ton image sur ce graph (si ta Form est grosse ça fera des gros
pixels. après avec un click sur l'image tu détectes l’évènement et la position et tu en déduit la position
où tu es (donc le pixel visé)
après tu peux afficher dans un coin une zone de propriété où tu règles la couleur et la transparence.
Je suis peut-être a coté de la plaque, je n'ai peut-être pas compris ton besoin