hred1
Messages postés108Date d'inscriptionsamedi 9 avril 2005StatutMembreDernière intervention 6 décembre 2007
-
13 nov. 2007 à 23:42
mohamedfssi
Messages postés6Date d'inscriptionmardi 12 février 2008StatutMembreDernière intervention16 mai 2008
-
22 avril 2008 à 14:29
Je dispose d'un tableau
de données, sous forme d'une matrice carrée.
Cette
matrice représente une carte 3D.
Je cherche à ploter
cette carte sur une zone de ma frame (Dites moi si je ne suis pas
claire..)
Mon idée c'est définir un carré de
pixels. Les pixels sont de couleurs dégradées en
fonction de la valeur des éléments de la matrice de
données.
Comment je peut associer une variable (double)
à un pixel pour l'afficher par la suite.
Merci pour votre
aide.
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 18 nov. 2007 à 08:38
Salut,
Je ne suis pas chez moi pour le moment et si tu ne trouve pas avec ce que je te dis ici, je peux te faire une source ce soir, mais c'est pas très compliqué.
D'abord tu crées un bitmap de la taille de ta matrice :
Bitmap bmp = new Bitmap(w, h);
Ensuite tu lock ses pixels grâce à la fonction LockPixels il me semble, ce qui te renvoie un objet BitmapData.
Cet objet BitmapData contient une propriété Scan0, un pointeur vers le début des pixels de bmp en mémoire.
Utilise ensuite System.InteropService.Marshal.Copy() pour copier ton tableau de données vers scan0.
Tu devras sans doute un peu le modifier pour que les données collent selon la propriété PixelFormat de ton bmp. Par exemple si tu est en 32bppARGB, tu devras transformer chaque objet de ta matrice en 4 bits d'informations que tu arrange comme tu veux.