Screensource, récupération des couleurs écran en rvb, tsl, tsv, capture d'écran, adobe color picker

Soyez le premier à donner votre avis sur cette source.

Vue 7 979 fois - Téléchargée 823 fois

Description

Mise à disposition du code sous Delphi 7, par contre, comme je n'ai plus trop le temps, c'est bourré de bugs!

Mise à jour version 2.0
Cela faisait longtemps que j'avais modifié le programme mais n'ayant jamais vraiment terminé celles-ci, je ne l'avais pas mis à jour...
Il reste encore quelques bugs (le popup de la fenetre disparait de temps en temps -_-) et j'envisage de changer l'unité de gestion des langues pour coder les champs modifiables 'en dur' ce sera moins souple mais plus simple pour les comboboxes.
Les gros changements sont le support TSV et l'ajout d'une fenetre de dialogue similaire à celle de Adobe Photoshop.
Quand vous utiliserez la fenêtre 'Adobe' vous remarquerez de gros ralentissements au niveau de l'affichage... Ceci est dû aux calculs effectuer lors de la modification des valeurs sous TSL ou TSV... J'ai essayé une premiere optimisation mais je devrais sans doute me pencher vers l'assembleur ou GDI+ afin d'optimiser les temps de traitement. Si quelqu'un a envie d'essayer...

Mise à jour version 1.1
J'ai corriger la fonction de conversion en HSL et j'ai aussi ajouté d'autres options avec non plus l'affichage HTML et Delphi mais un affichage personnalisé HTML, Delphi, C++ ou VB.
J'ai aussi ajouté un support pour les langues, des effets à appliquer lors de la capture (WebSafe, inverse et niveaux de gris) et une TrayIcon.
Mon unité de support de langue est encore en développment mais elle fonctionne correctement pour le moment avec cette application.

Version 1.0
ScreenSource permet de sélectionner une couleur depuis l'écran afin d'obtenir ses valeurs RGB, HSL, HTML et Delphi. Il permet aussi de faire une capture de la zone sélectionnée afin de pouvoir, par exemple, la parcourir par la suite ou l'enregistrer en Bitmap.

Le programme utilise quelques fonctions intéressantes comme (bien entendu!) la capture d'écran mais aussi l'alphablending de deux bitmaps, l'antialiasing d'un bitmap, la récupération des informations de version d'un programme, ou encore le dessin personnalisé dans une ListBox ou ComboBox.

Source / Exemple :


// Voir le ZIP.

Conclusion :


Le programme a été testé écrit sous Delphi 7.
Le TrayIcon provient de Japee.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
14
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
4 juillet 2005

Désolé, j'avais complètement oublié.
Voilà, c'est mis à jour.
Messages postés
25
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 octobre 2012

Pas de nouvelles depuis mon précédent message !

Dommage je me serais volontiers penché sur les bugs, mais supprimer touts les références à Delphi 2005 là c'est un peu au-dessus de mes forces.

Re-dommage car ce code me semblait prometteur

Bien cordialement
Messages postés
14
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
4 juillet 2005

Bonjour Gecko62,
Pour les erreurs, oui, cela est du au fait que tu sois sous Delphi 7, l'application, comme precise dans l'historique, a ete reecrite sous Delphi 2005. Les couleurs Web (les clWeb...) ne sont pas declarees. Pour le moment, il n'y a plus de composants exterieurs au niveau de l'application.
Maintenant, apres cette mise a jour, j'ai eu pas mal de soucis avec 2005 et j'ai du repasser sous Delphi7, ce qui s'annonce comme une bonne nouvelle pour toi en fait ;)
Maintenant, l'appli est toujours en stade beta et risque d'y rester pour un bon moment, parce que je n'ai vraiment plus du tout le temps de travailler dessus...
Il y a pas mal de bugs au niveau des dernieres fonctionnalites ajoutees (notemment entre le 'premier plan' et la 'barre des taches', je les avais juste 'posees a la va-vite' dans le code.
Je mettrais les sources a jour pour la version Delphi7 si je peux ce soir.
Messages postés
25
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 octobre 2012

Bonjour,
J'ai voulu tester cette source mais lors de la compilation sous Delphi7, j'ai eu ce message d'erreur :

[Erreur] uColorUtil.pas(863): Identificateur non déclaré : clWebLightCoral'
[Erreur] uColorUtil.pas(863): Etiquette de CASE dupliquée
[Erreur fatale] uColorUtil.pas(871): Compilation abandonnée; trop d'erreurs

A quoi cela est-il dû ?
Serait-ce dû à ce que Delphi 7 ne contient pas tout ce qu'il faut ?
Dois-je rajouter un composant, si oui, lequel ?

Merci de votre réponse

Bien cordialement
Messages postés
14
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
4 juillet 2005

J'ai trouvé un bug dans ma fonction de conversion RVB en TSL.
La valeur de la Teinte reste dans un interval compris entre 0 et 360 au lieu de 0 et 255, juste une règle de 3 à appliquer, mais il y a aussi une erreur de précision à cause des arrondissements. J'ai constaté cela avec Paint Shop Pro avec, par exemple, une valeur RVB de (192, 192, 255). PSP donne TSL (169, 255, 224) tandis que ma fonction, avec la règle de 3, donne TSL (170, 255, 223).
Autre précision, si vous regardez les valeurs TSL d'un TColorDialog, celles-ci seront différents de mon programme puisqu'elles sont exprimées dans un espace compris entre 0 et 240.

Je vais voir pour corriger ce bug, Delphi 6 possède l'unité GraphUtil qui contient déjà cette fonction.
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.