Traitement d'image C#

Mathod95 - 13 nov. 2012 à 17:02
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 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 ?

4 réponses

BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
13 nov. 2012 à 18:05
Salut

C# te propose tout un panel d'outils pour gerer les images ... System.Drawing;

Bitmap image1 = new Bitmap(strFile/*Chemin de ton fichier*/);


et tu peux accéder a chaque pixel de ton image

color couleur = image.GetPixel(x, y); // x et y sont les positions dans ton tableau


Bon dev a toi

MisterMok
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
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é. -
0
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 ?
0
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
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


MisterMok
0
Rejoignez-nous