gc.setStroke(peinture)et
gs.setFill(peinture)modifient couleur et motif utilisés pour les opérations de tracé (méthodes contenant "stroke" et de remplissage (méthodes contenant "fill".
gc.setFill(new ImagePattern(image,x,y,l,h,proportionnel));
Si "proportionnel" est vrai (true) la taille de l'image utilisée comme motif est ajustée à la taille de ce qui est dessiné.
Les x,y, l et h doivent être compris entre 0 et 1 inclus. x et y désignent le décalage relatif du motif par-rapport au dessin, et l et h sa taille relative par-rapport au dessin.
Par exemple
Image motif=new Image("images/arcenciel.jpg"); gc.setFill(new ImagePattern(motif,0,0,1,1,true)); gc.fillRect(330,100,150,75); gc.fillRect(480,175,75,100); gc.fillRect(350,180,80,40);donne le résultat ci-dessous :
Image motif=new Image("images/arcenciel.jpg"); gc.setFill(new ImagePattern(motif,0.2,0,0.6,1,true)); gc.fillRect(330,100,150,75); gc.fillRect(480,175,75,100); gc.fillRect(350,180,80,40);donne le résultat ci-dessous :
Si "proportionnel" est faux (false) alors x,y,l et h indiquent les valeurs en pixel des décalages et des dimensions de l'image utilisée comme motif.
Exemple
Image motif=new Image("images/arcenciel.jpg"); gc.setFill(new ImagePattern(motif,0,0,30,20,false)); gc.fillRect(330,100,150,75); gc.fillRect(480,175,75,100); gc.fillRect(350,180,80,40);donnant
Stop[] etapes = { new Stop(0, Color.YELLOW), new Stop(0.5, Color.GREEN),new Stop(1,Color.NAVY)}; LinearGradient lg = new LinearGradient(0, 0, 1,0, true, CycleMethod.NO_CYCLE, etapes);La syntaxe est
LinearGradient(xdebut, ydebut,xfin,yfin, proportionnel, repetition, etapes)
Le paramètre "repetition" peut prendre les trois valeurs CycleMethod.NO_CYCLE,CycleMethod.REPEAT,CycleMethod.REFLECT, signifiant respectivement que le dégradé n'est parcouru qu'une fois, est parcouru de manière répétée ou bien parcouru alternativement dans un sens et dans l'autre.
Si le paramètre "proportionnel" est vrai, l'étendue du gradient est ajustée en fonction de la forme qu'il recouvre. xdebut,ydebut, xfin et yfin, valant entre 0 et 1, désignent alors la positions relatives du début et de la fin du gradient.
Si "proportionnel" est faux, alors xdebut,ydebut, xfin et yfin sont les coordonnées absolues, en pixels, du début et de la fin du gradient.
Exemple d'utilisation d'un gradient proportionnel
Stop[] etapes = { new Stop(0, Color.YELLOW), new Stop(0.5, Color.GREEN),new Stop(1,Color.NAVY)}; LinearGradient lg = new LinearGradient(0,0,1,0, true, CycleMethod.NO_CYCLE, etapes); gc.setFill(lg); gc.fillRect(330,100,150,75); gc.fillRect(480,175,75,100); gc.fillRect(350,180,80,40);donnant
Exemple d'utilisation d'un gradient non proportionnel
Stop[] etapes = { new Stop(0, Color.YELLOW), new Stop(0.5, Color.GREEN),new Stop(1,Color.NAVY)}; LinearGradient lg = new LinearGradient(330,0,555,0, false, CycleMethod.NO_CYCLE, etapes); gc.setFill(lg); gc.fillRect(330,100,150,75); gc.fillRect(480,175,75,100); gc.fillRect(350,180,80,40);donnant
Un gradient radial se déploie dans toutes les directions, à l'intérieur d'un cercle.
RadialGradient rg=new RadialGradient(angle,decalage,x, y,rayon,proportionnel,repetition,etapes);
Exemple d'utilisation d'un gradient radial
Stop[] etapes = { new Stop(0, Color.YELLOW), new Stop(0.5, Color.GREEN),new Stop(1,Color.NAVY)}; RadialGradient rg=new RadialGradient(-45,0.25,0.5, 0.5,0.8,true, CycleMethod.NO_CYCLE,etapes); gc.setFill(rg); gc.fillRect(330,100,150,75); gc.fillRect(480,175,75,100); gc.fillRect(350,180,80,40);qui donne