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

0/5 (8 avis)

Vue 8 222 fois - Téléchargée 851 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
ronchon_sama Messages postés 14 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 4 juillet 2005
13 sept. 2005 à 11:56
Désolé, j'avais complètement oublié.
Voilà, c'est mis à jour.
cs_Gecko62 Messages postés 25 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 21 octobre 2012
13 sept. 2005 à 00:47
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
ronchon_sama Messages postés 14 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 4 juillet 2005
8 août 2005 à 16:19
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.
cs_Gecko62 Messages postés 25 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 21 octobre 2012
8 août 2005 à 10:21
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
ronchon_sama Messages postés 14 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 4 juillet 2005
8 mai 2004 à 03:05
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.