[C]Operation de test de pixel sur images.

Operation de test de pixel sur images. [C] - C++ - Programmation

Marsh Posté le 17-03-2003 à 09:26:58    

Bonjour , connaitriez vous les fonctions et librairies de base en C pour les operations sur les images tel que le test de pixel (noir ou blanc) etc...
Merci de votre comprehension.
PS : Si vous avez des exemples de code, ils sont les bienvenus.

Reply

Marsh Posté le 17-03-2003 à 09:26:58   

Reply

Marsh Posté le 17-03-2003 à 09:28:34    

SDL et allegro sont les plus répandues et les plus simples d'emploi.
Si tu es sous Win, il doit bien y avoir une fonction GDI qui permette cela, non ? :??:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 17-03-2003 à 09:33:38    

ben je c pas c pr ca que je demande ;)

Reply

Marsh Posté le 17-03-2003 à 13:12:28    

personne aurait un exemple de code svp?

Reply

Marsh Posté le 17-03-2003 à 13:43:34    

la fonction GDI GetPixel() te renvoie une structure COLORREF correspondant au pixel testé :
 

Citation :


GetPixel
The GetPixel function retrieves the red, green, blue (RGB) color value of the pixel at the specified coordinates.  
 
COLORREF GetPixel(
  HDC hdc,    // handle to DC
  int nXPos,  // x-coordinate of pixel
  int nYPos   // y-coordinate of pixel
);
Parameters
hdc  
[in] Handle to the device context.  
nXPos  
[in] Specifies the x-coordinate, in logical units, of the pixel to be examined.  
nYPos  
[in] Specifies the y-coordinate, in logical units, of the pixel to be examined.  
Return Values
The return value is the RGB value of the pixel. If the pixel is outside of the current clipping region, the return value is CLR_INVALID.  
 
Remarks
The pixel must be within the boundaries of the current clipping region.  
 
Not all devices support GetPixel. An application should call GetDeviceCaps to determine whether a specified device supports this function.  
 


 

Citation :


COLORREF
The COLORREF value is used to specify an RGB color.  
 
typedef DWORD COLORREF;
typedef DWORD *LPCOLORREF;
Remarks
When specifying an explicit RGB color, the COLORREF value has the following hexadecimal form:  
 
0x00bbggrr  
The low-order byte contains a value for the relative intensity of red; the second byte contains a value for green; and the third byte contains a value for blue. The high-order byte must be zero. The maximum value for a single byte is 0xFF.  
 
To create a COLORREF color value, use the RGB macro. To extract the individual values for the red, green, and blue components of a color value, use the GetRValue, GetGValue, and GetBValue macros, respectively.  


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 17-03-2003 à 14:06:47    

lol c un peu compliké pr moi je crois

Reply

Marsh Posté le 17-03-2003 à 14:36:54    

Pour récupérer la couleur du pixel situé aux coordonnées (250,175):
 
GetPixel(dc, 250, 175);
 
dc est le contexte de périphérique associé à l'écran. Tu peux le récupérer par la fonction GetDC()
 
Si le pixel est noir, alors la valeur retournée sera la suivante :
 
0x00000000 (les 3 composantes RGB sont à leur intensité minimum).
 
Si le pixel est blanc, tu auras la valeur suivante :
 
0x00FFFFFF (les 3 composantes sont au maximum de leur intensité => blanc)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 17-03-2003 à 14:43:05    

La question est de savoir tout d'abord sous quel forme tu as ton image ! Si c'est un DC alors la solution proposé par Harkonnen est parfaite, mais sinon d'autres solutions sont peut être plus appropriées !


---------------
each day I don't die is cheating
Reply

Sujets relatifs:

Leave a Replay

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