JavaFX canvas: Atrybut obwiedni 'stroke paint’
Atrybut: stroke paint
Typ: Paint
Wartość domyślna: Color.BLACK
Getter: Paint getStroke()
Setter: void setStroke(Paint)
Save/restore: true
Opis: Farba Paint zastosowana do rysowania konturu w operacji konturowania. Po klasie Paint
dziedziczą klasy: Color, ImagePattern, LinearGradient i RadialGradient.
Figury możemy więc konturować kolorem, gradientem liniowym lub radialnym albo teksturą.
Problem kolorów, w tym modele i palety kolorów) w JavaFX został szczegółowo omówiony w książce JavaFX 9. Tworzenie graficznych interfejsów użytkownika (rozdz 9. Feeria kolorów, str. 169 – 190).
Konturowanie kolorem
Klasa Listing25_42a
Ściągnij klasę Listing25_42a
GraphicsContext gc = cv.getGraphicsContext2D();
//-
gc.setStroke(Color.BLUE);
gc.setLineWidth(20);
gc.strokeRect(50,50,200,100);

Konturowanie gradientem liniowym
Klasa Listing25_42b
Ściągnij klasę Listing25_42b
GraphicsContext gc = cv.getGraphicsContext2D();
//-
LinearGradient lg1 = new LinearGradient(0,0,1,0, true,
CycleMethod.NO_CYCLE, new Stop(0, Color.WHITE),
new Stop(1, Color.BLUE));
gc.setStroke(lg1);
gc.setLineWidth(20);
gc.strokeRect(50,50,200,100);

Konturowanie gradientem radialnym
Klasa Listing25_42c
Ściągnij klasę Listing25_42c
GraphicsContext gc = cv.getGraphicsContext2D();
//-
Stop[] stops ={new Stop(0, Color.WHITE), new Stop(1, Color.RED)};
RadialGradient rg = new RadialGradient(-10,0.5,0.5,0.5,0.3,
true, CycleMethod.REFLECT, stops);
gc.setStroke(rg);
gc.setLineWidth(20);
gc.strokeOval(50,50,200,100);

Konturowanie teksturą (deseniem)
Klasa Listing25_42d
Ściągnij klasę Listing25_42d
GraphicsContext gc = cv.getGraphicsContext2D();
//-
Image im = new Image(new FileInputStream("rozdzial25c/src/rozdzial25c/laka.jpg"));
ImagePattern imp = new ImagePattern(im);
gc.setStroke(imp);
gc.setLineWidth(20);
gc.strokeOval(50,50,200,100);

Konturowanie deseniem proporcjonalnym
Klasa Listing25_42e
Ściągnij klasę Listing25_42e
GraphicsContext gc = cv.getGraphicsContext2D();
//-
Image im = new Image(new FileInputStream("rozdzial25c/src/rozdzial25c/laka.jpg"));
ImagePattern imp = new ImagePattern(im, 0, 0, 0.2, 0.2, true);
gc.setStroke(imp);
gc.setLineWidth(20);
gc.strokeOval(50,50,200,100);

Setter 'Paint getStroke()’
Klasa Listing25_42f
Ściągnij klasę Listing25_42f
GraphicsContext gc = cv.getGraphicsContext2D();
//-
gc.setStroke(Color.BLUE);
Paint p = gc.getStroke();
System.out.println(p);
0x0000ffff
Widzimy tutaj kolor w modelu RGBA.

