François DORIN
Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
Site internet | Profils Viadéo & LinkedIn
---------
Page de cours : fdorin.developpez.com
---------
N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels
Voici :
Depuis le changement du hdc en IntPtr à la place de Int32, il a été nécessaire de convertir la valeur résultante en Int64 pour pouvoir afficher sa valeur dans un label.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As IntPtr, ByVal x As Int32, ByVal y As Int32) As Int32 Dim rgb As Int32 Dim hdc As IntPtr Using g As Graphics = Graphics.FromHwnd(PictureBox2.Handle) hdc = g.GetHdc VAL_HDC = hdc.ToInt64() Label53.Text = VAL_HDC rgb = GetPixel(hdc, COORD_X, COORD_Y) Label22.Text = Hex(rgb) PRed = rgb And &HFF PGreen = (rgb And &HFF00) / 256 PBlue = (rgb And &HFF0000) / 65536 NivGray = (77 * PBlue + 151 * PGreen + 28 * PRed) / 256 g.ReleaseHdc(hdc) End Using
Ce n'est pas forcément étonnant. A chaque appel de GetPixel, tu demandes un nouveau HDC que tu libères ensuite. Finalement, ça ne me choque pas plus que ça après lecture du code
François DORIN
Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
Site internet | Profils Viadéo & LinkedIn
---------
Page de cours : fdorin.developpez.com
---------
N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels
Ce n'est pas une obligation. Personnellement, je le ferai car la fonction GetPixel est très souvent appelée.
François DORIN
Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
Site internet | Profils Viadéo & LinkedIn
---------
Page de cours : fdorin.developpez.com
---------
N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels
J'ai effectué les rectificatifs concernant la différence de mode gestion des coordonnées entre le pointeur de souris et la fonction GetPixel, en prenant en compte le zoom variable sur l'image ainsi que le positionnement du Form sur l'écran.
J'ai testé le programme sur 2 PC Win10, 2PC Seven et 1 PC XP, les 4 premiers en 64 bits et le XP en 32 bits. Le programme fonctionne sans problème sur les 5 PC.
Je considère que la problématique est résolue et que la discussion peut être soldée.
Merci aux différents intervenants qui sont intervenus dans cette discussion et qui m'ont permis de régler mon problème.
Jean-Pierre
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