Bonjour à tous, svp j'ai besoin d'aide
je posséde une matrice de niveau de gris (matrice à deux dimensions de type byte), j'aimerai construir une image 8 bits avec cette matrice là.
s'il vous plais es ce que quelqu'un peu m'aider à faire ça?
Bonjour à tous, svp j'ai besoin d'aide
je posséde une matrice de niveau de gris (matrice à deux dimensions de type byte), j'aimerai construir une image 8 bits avec cette matrice là.
s'il vous plais es ce que quelqu'un peu m'aider à faire ça?
Ce n'est pas très facile de faire ça en C# parce que les pixels sont stockés dans la mémoire 'unmanaged'. Il y a trois options:
1. Crée un Bitmap en donnant au constructeur la largeur et la hauteur de l'image. Après utilise SetPixel(i,j,couleur)
2. Crée un Bitmap avec un pointeur 'IntPtr' pointe des pixels (unmanaged). Pour ça il faut convertir le pointeur 'managed' à un 'unmanaged' et faire attention au format de donnés : http://www.bobpowell.net/lockingbits.htm
3. Utilise un MemoryStream qui contient l'image en format BMP. En sachant que ce format a un en-tête de 54 octets on peut avoir accès aux pixels facilement.
http://www.devsource.com/c/a/Languag...essing-in-C/2/
Si tu veux que l'image ait seulement 8 bits/pixel, essaye d'utiliser le PixelFormat.Format8bppIndexed. Si ça ne marche pas, la troisième option est la meilleure parce que tu peu écrire le BMP dans le MemoryStream dans n'importe quelle format tu veux et le GDI va le reconnaître.
Tres bonne réponse Andreis que je vais forwarder a Natrio qui a un problème similaire
Merci beaucoup AndreiS, je vais essayer de faire ce que tu ma di et je te tiendrai aucourant, en attendant si vous avez d'autres idée aidez moi s'il vous plais, je suis en train de faire mon memoire de fin d'étude et je suis bloqué.
J'ai donné un réponse plus détaille pour le 'marshalling' dans le discussion que olibara a évoqué. http://www.developpez.net/forums/d84...s/#post4856984
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager