Herve_be
Messages postés966Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention30 janvier 2023
-
Modifié le 8 janv. 2022 à 13:54
Herve_be
Messages postés966Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention30 janvier 2023
-
8 janv. 2022 à 15:32
Bonjour,
Je capture la position de la souris au moment où on clique dans une PictureBox avec MouseDown puis je modifie le pixel en question avec SetPixelV, le code est très simple :
Private Sub Photo2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Photo2.DrawMode = vbInvert
Call SetPixelV(Photo2.hDC, X, Y, RGB(255, 255, 255))
Le pixel est un peu plus bas que l'endroit où j'ai cliqué !
Auriez-vous une explication ?
Herve_be
Messages postés966Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention30 janvier 20232 Modifié le 8 janv. 2022 à 14:51
C'est ça.
Avec BorderStyle = 1 (Fixed single) il y a un décalage.
Avec BorderStyle = 0 (none) il n'y en a pas.
Sais-tu pourquoi ?
NHenry
Messages postés15039Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 7 février 2023156 8 janv. 2022 à 15:21
Quand tu cliques c'est la position du curseur selon le bords extérieur du controle qui est pris en compte, mais quand tu définis un pixel c'est dans l'image, l'images est affectée par les bordures du controles.