Tester La Couleur d'une zone d'écran avec une autre
-
- Messages : 14
- Inscription : mer. 17/août/2005 9:18
Tester La Couleur d'une zone d'écran avec une autre
Bonjour à toutes et tous,
Je voudrais savoir s'il est possible de tester la couleur d'une petite zone d'écran avec une autre petite zone d'écran.
Je vous remercie de votre réponse et de votre attention.
Bonne journée à vous.
Je voudrais savoir s'il est possible de tester la couleur d'une petite zone d'écran avec une autre petite zone d'écran.
Je vous remercie de votre réponse et de votre attention.
Bonne journée à vous.
Re: Tester La Couleur d'une zone d'écran avec une autre
Bonjour Hector,
oui, c'est possible. Tu (je tutoie, sauf si objection) es sous Windows, ou bien sous Linux ?
Cordialement
oui, c'est possible. Tu (je tutoie, sauf si objection) es sous Windows, ou bien sous Linux ?
Cordialement
-
- Messages : 14
- Inscription : mer. 17/août/2005 9:18
Re: Tester La Couleur d'une zone d'écran avec une autre
Bonjour Ollivier,
Merci pour cette réponse rapide.
Je suis content de savoir que cela est possible.
Je suis sous Windows.
Peux-tu m'indiquer la procédure (ou les instructions) qui permettent de faire cela.
Merci beaucoup.
Bonne journée ensoleillée
Merci pour cette réponse rapide.
Je suis content de savoir que cela est possible.
Je suis sous Windows.
Peux-tu m'indiquer la procédure (ou les instructions) qui permettent de faire cela.
Merci beaucoup.
Bonne journée ensoleillée
Re: Tester La Couleur d'une zone d'écran avec une autre
Oui, avec Point(x,y)
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Tester La Couleur d'une zone d'écran avec une autre
Bonjour
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 200, 200, "Point", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
Box(0, 0, 100, 200, RGB(255, 0, 0))
Debug "Couleur RGB en 50 x 100: R: "+Red(Point(50, 100)) + " /// G: " + Green(Point(50, 100)) + " /// B: "+ Blue(Point(50, 100))
Debug "Couleur RGB en 150 x 100: R: "+Red(Point(150, 100)) + " /// G: " + Green(Point(150, 100)) + " /// B: "+ Blue(Point(150, 100))
; dessin d'un pixel rouge et noir sur les couleurs opposées
Plot(50,100,$0)
Plot(150,100,$0000FF)
Debug ""
Debug " Note qu'en PB, si tu souhaites écrire une couleur (commande Plot() ), il faut l'ecrire dans l'ordre BGA et non en RGB"
Debug " Ce qui donne pour le rouge $0000FF et non $FF0000"
StopDrawing()
ImageGadget(0, 0, 0, 200, 200, ImageID(0))
EndIf
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
-
- Messages : 14
- Inscription : mer. 17/août/2005 9:18
Re: Tester La Couleur d'une zone d'écran avec une autre
Bonjour à tous,
Merci de vos réponses.
Je viens de voir la commande point(x,y). Je ne connais pas la structure logique de Purebasic pour la gestion graphique. Cela me semble confus.
Je voudrais simplement tester deux petites zones de l'écran (via deux simili-captures d'écran) et tester leur couleur (pour savoir si ce sont les mêmes couleurs ou pas).
L'aide de Purebasic donne un exemple (point(x,y) mais avec création d'une boite de dessin, je veux simplement tester l'écran brut.
Merci de me préciser si cela est possible.
A bientôt de vous lire et bon dimanche.
Merci de vos réponses.
Je viens de voir la commande point(x,y). Je ne connais pas la structure logique de Purebasic pour la gestion graphique. Cela me semble confus.
Je voudrais simplement tester deux petites zones de l'écran (via deux simili-captures d'écran) et tester leur couleur (pour savoir si ce sont les mêmes couleurs ou pas).
L'aide de Purebasic donne un exemple (point(x,y) mais avec création d'une boite de dessin, je veux simplement tester l'écran brut.
Merci de me préciser si cela est possible.
A bientôt de vous lire et bon dimanche.
Re: Tester La Couleur d'une zone d'écran avec une autre
Salut,
Si tu as 2 captures d'ecrans, tu charges ton/tes images, tu fais loadimage() au lieu d'un create image...
Mon exemple précédent montre visuellement le truc mais pas besoin d'afficher quoi que ce soit..
Tu dois faire appelle à StartDrawing(ImageOutput(0)) pour utiliser Point mais tu n'est pas obliger de dessiner dessus ou de l'afficher
Si tu as 2 captures d'ecrans, tu charges ton/tes images, tu fais loadimage() au lieu d'un create image...
Mon exemple précédent montre visuellement le truc mais pas besoin d'afficher quoi que ce soit..
Tu dois faire appelle à StartDrawing(ImageOutput(0)) pour utiliser Point mais tu n'est pas obliger de dessiner dessus ou de l'afficher
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 128, 128, "FreeImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\GeeBee2.bmp") ; Charge l'image depuis un fichier
StartDrawing(ImageOutput(0))
Debug "la couleur en x20 y20 est RGB( "+ Str(Red(Point(20,20))) +","+ Str( Green(Point (20,20))) + "," + Str(Blue(Point(20,20)))+")"
StopDrawing()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
-
- Messages : 14
- Inscription : mer. 17/août/2005 9:18
Re: Tester La Couleur d'une zone d'écran avec une autre
Merci Ar-S,
Mais je ne veux pas charger des images depuis un (ou des) fichier(s).
C'est sur l'écran directement que je veux faire deux zones à capturer.
Est-ce possible?
Merci beaucoup
Mais je ne veux pas charger des images depuis un (ou des) fichier(s).
C'est sur l'écran directement que je veux faire deux zones à capturer.
Est-ce possible?
Merci beaucoup

Re: Tester La Couleur d'une zone d'écran avec une autre
Puisque je te dis que c'est possible ! Avec une API, donc, faut la licence... T'as la licence, c'est bon ?
Re: Tester La Couleur d'une zone d'écran avec une autre
Faut être plus précis dans vos demandes svp...
Quand tu dis écran c'est ecran d'une fenêtre d'un prog externe? du bureau ?
Dans tous les cas, comme l'a dit Ollivier c'est possible car PB gère les API de windows donc tu peux utiliser les API de capture de pixel comme GetPixel_(). Il te faudra aussi récupérer le Handle de la denêtre cible que tu cherches "pixelcapturer"..
Mais la version demo de PB ne prend pas en charge la gestion des API.
Quand tu dis écran c'est ecran d'une fenêtre d'un prog externe? du bureau ?
Dans tous les cas, comme l'a dit Ollivier c'est possible car PB gère les API de windows donc tu peux utiliser les API de capture de pixel comme GetPixel_(). Il te faudra aussi récupérer le Handle de la denêtre cible que tu cherches "pixelcapturer"..
Mais la version demo de PB ne prend pas en charge la gestion des API.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
-
- Messages : 14
- Inscription : mer. 17/août/2005 9:18
Re: Tester La Couleur d'une zone d'écran avec une autre
Excuse-moi pour l'explication pas assez précise.
C'est l'écran d'une fenêtre d'un programme externe.
J'ai la licence PB depuis plus de dix ans (2007 je crois). Aucun problème
Je regarde le GetPixel() et le Handle de la fenêtre cible et j'essaie ....
Merci beaucoup.
C'est l'écran d'une fenêtre d'un programme externe.
J'ai la licence PB depuis plus de dix ans (2007 je crois). Aucun problème
Je regarde le GetPixel() et le Handle de la fenêtre cible et j'essaie ....
Merci beaucoup.
-
- Messages : 14
- Inscription : mer. 17/août/2005 9:18
Re: Tester La Couleur d'une zone d'écran avec une autre
Oh pardon je n'ai pas bien compris, c'est une licence API dont tu parles.
Mais là je suis largué. Je n'y connais rien du tout.
Est-ce compliqué ?
Merci de ta réponse.
Mais là je suis largué. Je n'y connais rien du tout.
Est-ce compliqué ?
Merci de ta réponse.
Re: Tester La Couleur d'une zone d'écran avec une autre
Non non c'est juste la licence PB. Elle permet d'appeler une fonction API.
On rajoute un tiret du 8 derrière le nom de la fonction, et on peut l'appeler.
Alors GetPixel semble récuperer le pixel d'un bitmap. Mais il y a une fonction plus rapide pour récupérer tout l'écran.
J'avais pondu un code pour récupérer une zone sélectionnée avec la souris. Et j'ai dû la publier en 2008. Mais je crois que je l'avais publié dans la section Hors Sujet qui a été sautée pour une banale histoire de n'importe quoi.
Ce n'est pas grave mais ça fait du boulot en plus. Ça fait chercher dans Archive.org et là, c'est moi qui suis largué !
Si quelqu'un a des idées, il y a plusieurs codes qui ont été faits et qui récupèrent l'écran (le bureau en cours).
On rajoute un tiret du 8 derrière le nom de la fonction, et on peut l'appeler.
Alors GetPixel semble récuperer le pixel d'un bitmap. Mais il y a une fonction plus rapide pour récupérer tout l'écran.
J'avais pondu un code pour récupérer une zone sélectionnée avec la souris. Et j'ai dû la publier en 2008. Mais je crois que je l'avais publié dans la section Hors Sujet qui a été sautée pour une banale histoire de n'importe quoi.
Ce n'est pas grave mais ça fait du boulot en plus. Ça fait chercher dans Archive.org et là, c'est moi qui suis largué !
Si quelqu'un a des idées, il y a plusieurs codes qui ont été faits et qui récupèrent l'écran (le bureau en cours).
-
- Messages : 14
- Inscription : mer. 17/août/2005 9:18
Re: Tester La Couleur d'une zone d'écran avec une autre
Bonjour,
j'ai essayé ce bout de code, ca fonctionne (il ne me reste plus qu'à trouver la capture écran)
voila :
====
Merci beaucoup

j'ai essayé ce bout de code, ca fonctionne (il ne me reste plus qu'à trouver la capture écran)
voila :
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 1535,863, "FreeImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
LoadImage(0, "c:\essai\GeeBee5.bmp") ; Charge l'image depuis un fichier
; UseJPEGImageDecoder()
StartDrawing(ImageOutput(0))
Debug "la couleur en x20 y20 est RGB( "+ Str(Red(Point(98,101))) +","+ Str( Green(Point (98,101))) + "," + Str(Blue(Point(98,101)))+")"
Debug "la couleur en x20 y20 est RGB( "+ Str(Red(Point(330,154))) +","+ Str( Green(Point (330,154))) + "," + Str(Blue(Point(330,154)))+")"
StopDrawing()
CloseWindow(0)
; Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Merci beaucoup


Re: Tester La Couleur d'une zone d'écran avec une autre
Tu as une facon tres particuliere de coder (j'avais jamais vu ca)
Sache que les Point(x,y) prennent plus de temps machine que des dim
Quand tu presente un code, utilise la balise "Code"
exemple :

Sache que les Point(x,y) prennent plus de temps machine que des dim
Quand tu presente un code, utilise la balise "Code"
exemple :
Code : Tout sélectionner
b=2+2
c=2*2
"+"="*" ?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits