Realiser un degrade sur plusieurs couleurs avec les api windows

Description

Encore un dégradé me direz vous
Oui mais cette source utilise une procédure qui existe déjà dans l'unité Windows depuis au moins Delphi 4
et elle permet de réaliser un dégradé sur deux où plusieurs couleurs de votre choix que ce soit en horizontale en verticale
Et maintenant en triangle il y a également une gestion ludique des couleurs.

J'ai volontairement mis cette fonction dans une unité à part afin de vous faciliter son utilisation et son intégration dans vos applications

Son utilisation est des plus simple puisqu'elle se résume en deux fonctions.

Exemple :

GradientRect(Canvas.handle, // le canvas dans le quel le dégradé sera dessiné
[clBlue, clGreen, clYellow, clRed], // les couleurs de votre choix
ClientRect, // les coordonées et la taille du dégradé à réaliser
GRADIENT_FILL_RECT_H // et la direction ici Horizontale et GRADIENT_FILL_RECT_V pour Verticale
); // si tout ce passe bien la fonction renvoie True

GradientTriangle(Canvas.handle, // le canvas dans le quel le dégradé sera dessiné
[clBlue, clGreen, clYellow, clRed], // les couleurs de votre choix minimum 3 et 4 pour remplir un rectangle où carrée entièrement
ClientRect, // les coordonées et la taille du dégradé à réaliser
); // si tout ce passe bien la fonction renvoie True

Conclusion :


Pour la gestion des couleurs je me suis légèrement inspiré de la source de WhiteHippo pour les Briques
//************************************************************************************************//
L'unité Gradients.pas a été revue et corrigée par Maître F0xi
Un grand merci à lui je peux dire.
Efficace et précieuse sa collaboration à été.

Codes Sources

A voir également

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.