Zielony Smok

JavaFX canvas: atrybut ogólny ‘global alpha’

Atrybut: global alpha

Typ: double

Wartość domyślna: 1.0.

Getter: double getGlobalAlpha()

Setter: void setGlobalApha(double)

Save/restore: true

Opis: Wartość nieprzezroczystości, która kontroluje widzialność albo blaknięcie (fading) każdej operacji renderowania

Atrybut ogólny ‘global alpha’

Klasa Listing25_56

Ściągnij klasę Listing25_56

package rozdzial25c;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class Listing25_56 extends Application {

    public static void main(String[] args) {
        Application.launch(args);
    }

    @Override
    public void start(Stage stage) {
        try {
            Group root = new Group();
            Canvas cv = new Canvas(700, 200);
            GraphicsContext gc = cv.getGraphicsContext2D();
            //-
            var x = 100;
            var y = 100;
            var radius = 50;
            //-
            gc.setFill(Color.GREEN);
            gc.setGlobalAlpha(1.0);
            //-
            gc.setGlobalAlpha(1.0);
            gc.beginPath();
            gc.arc(x, y, radius, radius, 0, 360);
            gc.fill();
            //-
            gc.setGlobalAlpha(0.8);
            gc.beginPath();
            gc.arc(x + 100, y, radius, radius, 0, 360);
            gc.fill();
            //-
            gc.setGlobalAlpha(0.6);
            gc.beginPath();
            gc.arc(x + 200, y, radius, radius, 0, 360);
            gc.fill();
            //-
            gc.setGlobalAlpha(0.4);
            gc.beginPath();
            gc.arc(x + 300, y, radius, radius, 0, 360);
            gc.fill();
            //-
            gc.setGlobalAlpha(0.2);
            gc.beginPath();
            gc.arc(x+ 400, y, radius, radius, 0, 360);
            gc.fill();
            //-
            gc.setGlobalAlpha(0.0);
            gc.beginPath();
            gc.arc(x + 500, y , radius, radius, 0, 360);
            gc.fill();
            //-
            double ga = gc.getGlobalAlpha();
            System.out.println(ga);
            //-
            root.getChildren().add(cv);
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.setTitle("Atrybut ogólny 'global alpha'");
            stage.setOnCloseRequest(e -> Platform.exit());
            stage.show();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}           
    0.0
Atrybut ogólny 'global alpha'
Rys. 25_66. Atrybut ogólny ‘global alpha’