Mettre un pixel d'une certaine couleur en c++ avec Windows

Mettre un pixel d'une certaine couleur en c++ avec Windows - C++ - Programmation

Marsh Posté le 09-07-2002 à 04:26:17    

Salut à tous. Est-ce que quelqu'un sait comment mettre sous Windows un pixel situé dans une certaine position d'une certaine couleur. J'ai vu certaine fonction mais elles ne marchent que sous DOS. A terme je dois afficher une image (un tableau en fait).
Merci d'avance

Reply

Marsh Posté le 09-07-2002 à 04:26:17   

Reply

Marsh Posté le 09-07-2002 à 08:25:21    

Tu veux faire ça dans quoi, une fenêtre?


Message édité par LetoII le 09-07-2002 à 09:07:11

---------------
Le Tyran
Reply

Marsh Posté le 09-07-2002 à 08:59:55    

Afficher une image pixels par pixels ça va être super long, il vaut mieux utiliser des fonctions spécialisées pour faire la copie de l'image (ou une partie) en une fois.
 
1° Avec quoi travailles tu ?


Message édité par darkoli le 09-07-2002 à 09:03:53

---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 09-07-2002 à 11:29:31    

Essaye de voir BitBlt... (sous VC++)
Je ne connais pas du tout mais je suis en train de m'y mettre.

Reply

Marsh Posté le 09-07-2002 à 12:13:35    

si tu veux faire un jeu, alors ya des libs graphiques avec pleins de fonctions, pour que cela soit assez facile.
par ex, www.allegro.cc

Reply

Marsh Posté le 09-07-2002 à 12:58:14    

DarkOli a écrit a écrit :

Afficher une image pixels par pixels ça va être super long, il vaut mieux utiliser des fonctions spécialisées pour faire la copie de l'image (ou une partie) en une fois.
 
1° Avec quoi travailles tu ?




 
Je travaille avec Borland C++

Reply

Marsh Posté le 09-07-2002 à 12:59:32    

letoII a écrit a écrit :

Tu veux faire ça dans quoi, une fenêtre?



Oui, en fait peu importe je veux juste pouvoir afficher l'image

Reply

Marsh Posté le 09-07-2002 à 13:26:26    

Il y a  
The SetPixel function sets the pixel at the specified coordinates to the specified color.  
 
COLORREF SetPixel(
 
    HDC hdc, // handle of device context  
    int X, // x-coordinate of pixel  
    int Y, // y-coordinate of pixel  
    COLORREF crColor  // pixel color  
   );
 
C'est une image artificielle (synthétique) ? J'ai eu à faire ça pour surface de profilomètre (niveaux de couleurs arbitraires). C'est un peu long à afficher (ligne par ligne).  
J'ai pas encore bien réussi à créer une bitmap DIB en mémoire, et à l'afficher d'un seul coup (comme les softs pro).

Reply

Marsh Posté le 11-07-2002 à 03:38:17    

carbon_14 a écrit a écrit :

Il y a  
The SetPixel function sets the pixel at the specified coordinates to the specified color.  
 
COLORREF SetPixel(
 
    HDC hdc, // handle of device context  
    int X, // x-coordinate of pixel  
    int Y, // y-coordinate of pixel  
    COLORREF crColor  // pixel color  
   );
 
C'est une image artificielle (synthétique) ? J'ai eu à faire ça pour surface de profilomètre (niveaux de couleurs arbitraires). C'est un peu long à afficher (ligne par ligne).  
J'ai pas encore bien réussi à créer une bitmap DIB en mémoire, et à l'afficher d'un seul coup (comme les softs pro).




 
Merci, mais je suis débutant en C++ - je ne comprends pas ce que c'est que HDC hdc .

Reply

Marsh Posté le 11-07-2002 à 08:20:56    

C pas du C++ ça, c de l'API windows :D
 
Va voir sur msdn.microsoft.com


---------------
Le Tyran
Reply

Marsh Posté le 11-07-2002 à 08:20:56   

Reply

Marsh Posté le 11-07-2002 à 08:54:21    

philbarney a écrit a écrit :

 
 
Merci, mais je suis débutant en C++ - je ne comprends pas ce que c'est que HDC hdc .




 
Si t sous windows, tu trouveras pas autre chose. HDC, c un HANDLE (pointeur de pointeur en API Win32) vers un Device Contexte (contexte d'affichage). Tu peux pas dessiner ailleurs que dans un DC.

Reply

Marsh Posté le 17-07-2002 à 18:15:53    

Pour donner une couleur à un pixel il te suffit d'utiliser la propriété Pixels[x][y] du canvas de l'objet dans lequel tu veux dessiner.
Par exemple, si tu veux donner au pixel la couleur rouge au pixel situé en (128, 312) sur ton objet TImage::Image1, il te suffit de taper :
 
Image1->Canvas->Pixels[128][312] = clRed;
     ou bien
Image1->Canvas->Pixels[128][312] = RGB(256, 0, 0);


---------------
...m'enfin !!!
Reply

Marsh Posté le 17-07-2002 à 18:17:10    

Oups ERRATUM : dans la dernière ligne je voulais plutôt mettre RGB(255, 0, 0)
 
 
DSL


---------------
...m'enfin !!!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed