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 687 fois - Téléchargée 752 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

cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24 -
J'ai un doute : au lieu de HSL, ne s'agit-il pas plutôt de TSL (Teinte, Saturation, Luminosité) ?
ronchon_sama
Messages postés
15
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
4 juillet 2005
-
Oui, c'est exactement ça. H indique 'Hue', nom anglais. De même, RGB est anglais, en français RVB ;).
cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24 -
Merci pour ces précisions et félicitations pour cette réalisation.
ronchon_sama
Messages postés
15
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.
cs_Gecko62
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

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.