bonjour à tous,
un question de beubeu :
Private Declare Function GetPixel _
Lib "gdi32" _
(ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
les coordonnées retournées ne "correspondent" pas
aux objet.top .left, où me trompe-je ?
comment faire la "conversion" ( dans un sens ou dans l'autre ) ?
merci d'avance. @+
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice Henrio
"Bul" a écrit dans le message de news: dlf7l1$qhu$
bonjour à tous, un question de beubeu : Private Declare Function GetPixel _ Lib "gdi32" _ (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long les coordonnées retournées ne "correspondent" pas aux objet.top .left, où me trompe-je ? comment faire la "conversion" ( dans un sens ou dans l'autre ) ? merci d'avance. @+
The GetPixel function retrieves the red, green, blue (RGB) color value of the pixel at the specified coordinates.
Donc on ne retourne pas des coordonnées mais une couleur.
"Bul" <marcelBultez@pourriel.Tiscali.fr> a écrit dans le message de news:
dlf7l1$qhu$1@news.tiscali.fr...
bonjour à tous,
un question de beubeu :
Private Declare Function GetPixel _
Lib "gdi32" _
(ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
les coordonnées retournées ne "correspondent" pas
aux objet.top .left, où me trompe-je ?
comment faire la "conversion" ( dans un sens ou dans l'autre ) ?
merci d'avance. @+
The GetPixel function retrieves the red, green, blue (RGB) color value of
the pixel at the specified coordinates.
Donc on ne retourne pas des coordonnées mais une couleur.
"Bul" a écrit dans le message de news: dlf7l1$qhu$
bonjour à tous, un question de beubeu : Private Declare Function GetPixel _ Lib "gdi32" _ (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long les coordonnées retournées ne "correspondent" pas aux objet.top .left, où me trompe-je ? comment faire la "conversion" ( dans un sens ou dans l'autre ) ? merci d'avance. @+
The GetPixel function retrieves the red, green, blue (RGB) color value of the pixel at the specified coordinates.
Donc on ne retourne pas des coordonnées mais une couleur.
Pascal B.
Salut Bul,
Par défaut, les coordonées retournées par les controles sont en Twips (cela dépend de la propriété ScaleMode de l'object-parent (Form ou PictureBox) qui contient le controle) et ta fonction GetPixel utilise des coordonées en Pixels.
Pour connaitre le rapport entre Twips et Pixels, tu peux utiliser les propriétés de l'objet Screen:
Screen.TwipsPerPixelX Screen.TwipsPerPixelY
Ou bien, tu peux changer le ScaleMode de l'object-parent. Dans ce cas, il n'y a plus conversion à faire.
Form1.ScaleMode = VbPixel
Cordialement Pascal B.
"Bul" wrote in message news:dlf7l1$qhu$ | bonjour à tous, | un question de beubeu : | Private Declare Function GetPixel _ | Lib "gdi32" _ | (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long | les coordonnées retournées ne "correspondent" pas | aux objet.top .left, où me trompe-je ? | comment faire la "conversion" ( dans un sens ou dans l'autre ) ? | merci d'avance. @+ | |
Salut Bul,
Par défaut, les coordonées retournées par les controles sont en Twips (cela dépend de la propriété ScaleMode de l'object-parent
(Form ou PictureBox) qui contient le controle)
et ta fonction GetPixel utilise des coordonées en Pixels.
Pour connaitre le rapport entre Twips et Pixels, tu peux utiliser les propriétés de l'objet Screen:
Screen.TwipsPerPixelX
Screen.TwipsPerPixelY
Ou bien, tu peux changer le ScaleMode de l'object-parent. Dans ce cas, il n'y a plus conversion à faire.
Form1.ScaleMode = VbPixel
Cordialement
Pascal B.
"Bul" <marcelBultez@pourriel.Tiscali.fr> wrote in message news:dlf7l1$qhu$1@news.tiscali.fr...
| bonjour à tous,
| un question de beubeu :
| Private Declare Function GetPixel _
| Lib "gdi32" _
| (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
| les coordonnées retournées ne "correspondent" pas
| aux objet.top .left, où me trompe-je ?
| comment faire la "conversion" ( dans un sens ou dans l'autre ) ?
| merci d'avance. @+
|
|
Par défaut, les coordonées retournées par les controles sont en Twips (cela dépend de la propriété ScaleMode de l'object-parent (Form ou PictureBox) qui contient le controle) et ta fonction GetPixel utilise des coordonées en Pixels.
Pour connaitre le rapport entre Twips et Pixels, tu peux utiliser les propriétés de l'objet Screen:
Screen.TwipsPerPixelX Screen.TwipsPerPixelY
Ou bien, tu peux changer le ScaleMode de l'object-parent. Dans ce cas, il n'y a plus conversion à faire.
Form1.ScaleMode = VbPixel
Cordialement Pascal B.
"Bul" wrote in message news:dlf7l1$qhu$ | bonjour à tous, | un question de beubeu : | Private Declare Function GetPixel _ | Lib "gdi32" _ | (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long | les coordonnées retournées ne "correspondent" pas | aux objet.top .left, où me trompe-je ? | comment faire la "conversion" ( dans un sens ou dans l'autre ) ? | merci d'avance. @+ | |
Guy DETIENNE
Salut ;O)
Pour compléter ce qu'a dit Pascal B., sache que les API de GDI32 travaillent toujours en Pixels. Donc il faut toujours bien veiller à convertir les coordonnées préalablement sinon le résultat sera hasardeux.
Guy
"Bul" a écrit dans le message de news:dlf7l1$qhu$
bonjour à tous, un question de beubeu : Private Declare Function GetPixel _ Lib "gdi32" _ (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long les coordonnées retournées ne "correspondent" pas aux objet.top .left, où me trompe-je ? comment faire la "conversion" ( dans un sens ou dans l'autre ) ? merci d'avance. @+
Salut ;O)
Pour compléter ce qu'a dit Pascal B., sache que les API de GDI32 travaillent
toujours en Pixels.
Donc il faut toujours bien veiller à convertir les coordonnées préalablement
sinon le résultat sera hasardeux.
Guy
"Bul" <marcelBultez@pourriel.Tiscali.fr> a écrit dans le message de
news:dlf7l1$qhu$1@news.tiscali.fr...
bonjour à tous,
un question de beubeu :
Private Declare Function GetPixel _
Lib "gdi32" _
(ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
les coordonnées retournées ne "correspondent" pas
aux objet.top .left, où me trompe-je ?
comment faire la "conversion" ( dans un sens ou dans l'autre ) ?
merci d'avance. @+
Pour compléter ce qu'a dit Pascal B., sache que les API de GDI32 travaillent toujours en Pixels. Donc il faut toujours bien veiller à convertir les coordonnées préalablement sinon le résultat sera hasardeux.
Guy
"Bul" a écrit dans le message de news:dlf7l1$qhu$
bonjour à tous, un question de beubeu : Private Declare Function GetPixel _ Lib "gdi32" _ (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long les coordonnées retournées ne "correspondent" pas aux objet.top .left, où me trompe-je ? comment faire la "conversion" ( dans un sens ou dans l'autre ) ? merci d'avance. @+
Bul
merci de vos réponses
ne retourne pas des coordonnées mais une couleur
je ne me suis pas tout à fait bien exprimé.
Screen.TwipsPerPixelX, Screen.TwipsPerPixelY
ça fonctionne parfaitement
Form1.ScaleMode = VbPixel
pas ça, si en dur dans les propriétés ou sinon, VbPixel non défini mais j'ai VB 5 .
les API de GDI32 travaillent toujours en Pixels.
tout est clair. merci encore. @+
merci de vos réponses
ne retourne pas des coordonnées mais une couleur
je ne me suis pas tout à fait bien exprimé.
Screen.TwipsPerPixelX, Screen.TwipsPerPixelY
ça fonctionne parfaitement
Form1.ScaleMode = VbPixel
pas ça, si en dur dans les propriétés
ou sinon, VbPixel non défini
mais j'ai VB 5 .