dégradés sont esthétiquement agréables transitions entre les couleurs. Java traite automatiquement plusieurs types de dégradés entre les couleurs spécifiées par l'utilisateur . Vous pouvez définir un gradient comme une couleur tout en tirant en Java pour créer des formes , du texte et d'autres objets avec un effet de dégradé . Si les classes de pente par défaut de Java ne sont pas assez flexibles , vous pouvez traiter vos propres dégradés en Java avec des boucles imbriquées . GradientPaint classe
La classe GradientPaint fournit la méthode la plus simple de créer un simple dégradé . Le constructeur de GradientPaint accepte deux points, deux couleurs et une valeur booléenne facultative . Le gradient résultant se déplacera de la première couleur au premier point de la seconde couleur au second point . Si vous passez la valeur booléenne vrai, le gradient va répéter le gradient dans les deux sens passé le début et la fin , la création d' un modèle cyclique . Un objet GradientPaint qui parcourt bleu et blanc est instancié en tant que tel :
GradientPaint p = new GradientPaint ( new Point ( 0,0), color.blue , new Point ( 100,100 ) , Color.White , true) ;
LinearGradientPaint classe
LinearGradientPaint est similaire à GradientPaint , mais il peut créer un gradient à travers plus de deux couleurs et permet aux utilisateurs de définir la largeur de chaque section de couleur de le gradient devrait être. Le constructeur de LinearGradientPaint accepte deux points , un tableau de chars, une gamme de couleurs et une valeur facultative pour indiquer comment le gradient devraient défiler couleurs. Chaque valeur du flotteur correspond à une couleur et indique à quel moment le gradient cette couleur doit être prédominant. Par exemple, si le gradient doit être bleue d'un tiers du chemin à travers ses 0.3f du cycle doit correspondre à la couleur bleue . Un objet LinearGradientPaint qui crée un gradient passant par le bleu , noir et blanc , sans répéter utilise le constructeur suivant :
float [] x = { 0.0f , 0.3f , 1.0f }; Couleur [] c = { couleur . BLACK , color.blue , Color.White }; LinearGradientPaint lp = new LinearGradientPaint ( new Point ( 0,0), new Point ( 100,100 ) , x, c);
RadialGradientPaint classe
RadialGradientPaint crée gradients circulaires s'étendant à partir d'un seul point. Son constructeur prend un point unique représentant le centre du cercle , une valeur en virgule flottante représentant le rayon du cercle , une rangée de flotteurs pour représenter la vitesse de variation entre les couleurs et une gamme de couleurs . En option, il peut accepter une mise au point qui se déplace le centre du dégradé pour créer des dégradés elliptiques et une valeur pour déterminer les cycles de gradient à travers les couleurs . L'instanciation d' un objet RadialGradientPaint est similaire à la création d'un LinearPaintObject :
float [] x = { 0.0f , 0.3f , 1.0f }; Couleur [] c = { Color.Black , color.blue , Color.White }; LinearGradientPaint lp = new LinearGradientPaint ( new Point ( 50,50) , (float) 25 , x, c);
Peindre un dégradé
Vous pouvez créer plus élaborée sur mesure gradients de Java par le traitement de votre propre gradient à travers des boucles imbriquées. A chaque étape de la boucle , de créer une nouvelle couleur en fonction de votre position dans la boucle. Dans la boucle interne , dessinez un carré à la position définie par votre position dans la boucle de la couleur actuelle. Le code de l'exemple ci-dessous crée un rectangle de gradient qui commence au point (0,0) et à 400 pixels de large et 500 pixels de hauteur. Les valeurs de float r1, g1 et b1 définissent les valeurs R, V et B de la couleur initiale . Les valeurs de R2 , G2 et b2 définissent les valeurs R, G et B pour la deuxième couleur . La première boucle s'étend à partir de la première coordonnée x de la largeur du rectangle . La boucle interne s'étend à partir de la coordonnée y initiale à la hauteur du rectangle . Ainsi, dans la boucle interne , le point ( i, j) correspond toujours à un point différent dans le rectangle de gradient. Chaque fois que le cycle de programmation dans la boucle imbriquée, il modifie le r et des valeurs b en tant que fraction du courant de coordonnée x ; plus le point est à la valeur initiale de x , le plus proche de R et les valeurs de B sera à leurs valeurs initiales . Le programme modifie la valeur b de courant par rapport à la coordonnée y , créant le même effet sur un axe différent . Il crée ensuite une nouvelle couleur dans la r modifiée , g et les valeurs B, et dessine un rectangle d'exactement un pixel de largeur et de hauteur à la coordonnée actuelle dans la nouvelle couleur