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.