Accueil > Forum > > > > capturer une couleur
capturer une couleur
dimanche 18 janvier 2004 à 23:21:03 |
capturer une couleur

Fly57
|
Alors voila, je me suis mis en tête de faire un petit logiciel qui m'indique le code RV et Hexa d'une couleur (ça j'ai deja fait) mais aussi qu'il puisse capturer cette couleur en n'importe quel point de l'ecran par exemple je clic sur mon bouton pour cette action, et la n'import ou ou je clic sur l'ecran, ça me renvoi la couleur rvb ou hexa du pixel cliqué sur l'ecran je sais pas trop vers quoi me tourner, c'est en C# biensur et j'utilise SharpDevelop ... ptêtre avec openGL mais j'ai pas reussi à le faire fonctionner sous SharpDevelop, j'ai telechargé CsGL, mais ça prends pas voila merci pour l'aide que vous pourrez me fournir :) - Fly -
|
|
lundi 19 janvier 2004 à 00:54:02 |
Re : capturer une couleur

coq
|
G peut etre une piste je dis bien piste pck je ne sais pas si C applicable La classe Bitmap contient une methode GetPixel : "Obtient la couleur du pixel spécifié dans ce Bitmap." Il "suffirait" de noter les coordonnées de la souris sur l'ecran tout en fesant une capture de tout l'ecran pour ensuite se servir de GetPixel afin de recup la couleur du pixel qui etait pointé en se servant de la capture. Cette source de gg00xiv te donne un Image Bitmap comporte un constructeur prenant comme parametre un Image à toi de jouer Cocoricoooooooo !!!!
|
|
lundi 19 janvier 2004 à 09:54:43 |
Re : capturer une couleur

Fly57
|
Merci pour ta reponse c'est nickel ce qu'il me fallait, bon ben j'ai presque finit le programe enfin il est fini mais le prob c'es tque je me sers de Direct X pour capturer les coordonnées de la souris, je les ais puis je me sers de GetPixel etc mais SharpDevelop ne reconnait pas Direct X
j'ai mis ça en haut du prog : using Microsoft.DirectX; using Microsoft.DirectX.DirectInput;
et SharpDevelop me sors cette erreur : "Le type ou le nom d'espace de noms 'DirectX' n'existe pas dans la classe ou l'espace de nom 'Microsoft'" il me la met deux fois :/
donc la question est la suivante, comment puis-je faire pour me servir de direct X sous Sharp Develop, et que ça compile bien sur :)
Car je n'ai pas VS .Net
Merci d'avance :)
- Fly -
|
|
lundi 19 janvier 2004 à 09:59:14 |
Re : capturer une couleur

coq
|
cherche plutot du coté des api il doit bien y avoir moyen de capturer ces fameuses coordonnées via l'api windows
Cocoricoooooooo !!!!
|
|
lundi 19 janvier 2004 à 10:39:06 |
Re : capturer une couleur

Fly57
|
j'ai etait fouillé sur msdn et j'ai trouvé la fonction GetCursorPos() j'ai donc fait comme suit :
public class CursorPointClass { [DllImport("coredll.dll")] public static extern bool GetCursorPos(ref Point pt); }
et je m'en sers ensuite comme ça :
Point pt = new Point(0, 0); //le lien que tu m'as indiqué Image capture = WindowsDesktop.CaptureScreen(); if(CursorPointClass.GetCursorPos(ref pt)) { //j'ai aussi essayé sans convertir en Int16 ou meme en Int32 Color cc = capture.GetPixel(pt.x.ToInt16(), pt.y.ToInt16()); }
et la j'ai un paquet d'erreurs (6) : -System.Drawing.Point.x est innaccessible en raison de son niveau de protection (CS0122) -System.Drawing.Point.y est innaccessible en raison de son niveau de protection (CS0122) -System.Drawing.Image ne contient pas de definition pour GetPixel (CS0117) les 3 autres sont à causes de celles qui precedent
voila, pourtant j'ai l'impression de bien m'en servir :/
- Fly -
|
|
lundi 19 janvier 2004 à 10:42:32 |
Re : capturer une couleur

coq
|
essaie un peu avec "out" a la place de "ref"
Cocoricoooooooo !!!!
|
|
lundi 19 janvier 2004 à 10:47:20 |
Re : capturer une couleur

Fly57
|
c'est idem :( les mêmes erreurs aux mêmes endroits
- Fly -
|
|
lundi 19 janvier 2004 à 10:57:18 |
Re : capturer une couleur

coq
|
bon G coder un truc vite fait (1 fenetre + un bouton ^^) deja coredll.dll je sais pas d'ou tu le sors dans la classe : [DllImport("user32.dll")] public static extern bool GetCursorPos(ref Point pt);
|
le code : private void button1_Click(object sender, System.EventArgs e) { Point pt = new Point(0, 0); GetCursorPos(ref pt); MessageBox.Show(pt.X.ToString()+"/"+pt.Y.ToString()); }
|
ça marche niquel Cocoricoooooooo !!!!
|
|
lundi 19 janvier 2004 à 11:21:10 |
Re : capturer une couleur

Fly57
|
ok maintenant c'est bon pour la souris :) merci pour ton aide ;) il ne me reste plus qu'un probleme à regler : -System.Drawing.Image ne contient pas de definition pour GetPixel (CS0117)
j'utilise un code que j'ai trouv ici pour faire la capture d'ecran que t'as montré au dessus, mon avis c'est que le code qui est donnée renvoie un Image (different d'un bitmap ?) alors que GetPixel() s'utilise sur un bitmap, c'est peut-être de là que viens l'erreur
je vais continuer à chercher :)
- Fly -
|
|
lundi 19 janvier 2004 à 11:26:18 |
Re : capturer une couleur

coq
|
par contre maintenant comme tu veux recup la couleur a n'importe quel point de l'ecran, il fo aussi que tu "intercepte" les clics en dehors de ta fenetre d'appli je pense que là y'a pas d'autre solution que le hook : Article sur CodeProjectArticle MSDNbon courage ^^ Cocoricoooooooo !!!!
|
|
Cette discussion est classée dans : clic, ecran, couleur, capturer, hexa
Répondre à ce message
Sujets en rapport avec ce message
Convertir couleur en hexa [ par lagoelle ]
Bonjour,Je suis sur un projet de création de skin pour SPV C600 et je dois créer un colorScheme.Comment convertir une couleur en valeur hexa (#FFFF p
couleur hexa [ par T103 ]
bonsoirvoila jarrive a recupeer la valeur d'un pixel avec la fonction getpixel, mai je recupere une valeur du stil en hexadecimal (#FF0066) mai ensuit
Menu en clic droit sur datagrid [ par miss07 ]
Bonjour, J'ai un petit probleme. Voila j'ai un datagrid et j'aimerai créer un espece de menu ou un vraiment un menu lorsque je fais un clic droit de m
Dimension de l'ecran [ par manou2005 ]
Bonjour tout le monde, je voudrais savoir comment faire pour avoir les dimensions de l'écran en C#.Et merci.
ListView et couleur selection items [ par YLSEAGLE ]
Bonjour à tous. Je cherche à changer la couleur de sélection d'un item dans une listview. Par défaut, celle ci est de couleur bleu avec le texte en bl
programmer le clic d'un bouton [ par FlowerOnTheWall ]
Bonjour.Je souhaiterai programmer le clic d'un bouton d'un programme qui n'est pas le mien. J'arrive juste à récupérer le handle de l'application.Merc
liste deroulante graphics [ par emmanuel9 ]
Bonjour, En faite je voudrais faire une liste avec un numero et un carré de couleur a coté mais une liste deroulante. Je peux pas utiliser de listv
Capturer des sons grace a un micro [ par mbourgeois ]
Bonjour,dans le cadre d'un projet d'études, je suis a la recherche d'un moyen de cpaturer les sons d'un microphone relié a un ordinateur dans l'un des
Sélection d'un ContextMenu [ par Marquo ]
Bonjour,je voudrais utiliser le clic droit sur un listview.Sur mon clic j'ai bien ajouter les menuItems : ListV.MenuItems.Add("toto") mais je ne sais
Couleur de menu [ par julie1m ]
Bonjour,J'ai un petit problème, mais je n'arrive pas à le résoudre:J'ai un Form, auxquel j'ai donné une couleur de fond.De plus, j'ai associé une barr
Livres en rapport
|
Derniers Blogs
[TECHDAYS2012] OUI J'Y SERAI![TECHDAYS2012] OUI J'Y SERAI! par JeremyJeanson
Bonsoir, Certes, je l'annonce avec un peu de retard, mais je serai effectivement au Techdays demain. Comme l'an dernier, je participerai au programme ATE (Ask The Expert). Si vous avez des questions Workflow, WCF, AppFabric ou plus généralement .net, n'hé...
Cliquez pour lire la suite de l'article par JeremyJeanson TFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICESTFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICES par vfabing
Afin de s'assurer du bon fonctionnement des différentes synchronisations effectuées par les TFS Integration Tools, 2 rapports sont présents dès l'installation. Il suffit alors d'effectuer les manipulations suivantes pour pouvoir les visualiser : Loca...
Cliquez pour lire la suite de l'article par vfabing CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|