JavaFX | Clase de lienzo

La clase Canvas es parte de JavaFX. La clase Canvas básicamente crea una imagen en la que se puede dibujar usando un conjunto de comandos de gráficos proporcionados por un GraphicsContext. El lienzo tiene una altura y un ancho especificados y todas las operaciones de dibujo se recortan a los límites del lienzo.

Constructores de la clase:

  1. Canvas() : crea un nuevo objeto de lienzo.
  2. Canvas (doble w, doble h) : crea un nuevo objeto de lienzo con el ancho y la altura especificados.

Métodos comúnmente utilizados:

Método Explicación
getGraphicsContext2D() Devuelve el contexto gráfico asociado con el lienzo.
obtenerAltura() Devuelve la altura del lienzo.
obtenerAncho() Devuelve el ancho del lienzo.
setHeight(doble v) Establece la altura del lienzo.
establecer ancho (doble d) Establece el ancho del lienzo.

Los siguientes programas ilustran el uso de la clase Canvas:

  1. Programa Java para crear un lienzo con ancho y alto especificados (como argumentos del constructor), agregarlo al escenario y también agregarle un círculo y un rectángulo: En este programa crearemos un lienzo llamado lienzo con ancho y alto especificados. Extraeremos el GraphicsContext usando la función getGraphicsContext2D() y dibujaremos un rectángulo y un óvalo de diferente color. Ahora crearemos un grupo llamado Grupo y agregaremos el lienzo al grupo. Ahora cree una escena y agregue el grupo a la escena y luego adjunte la escena al escenario y llame a la función show() para mostrar los resultados.

    // Java Program to create a canvas with specified
    // width and height(as arguments of constructor),
    // add it to the stage and also add a circle and
    // rectangle on it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.canvas.*;
    import javafx.scene.paint.Color;
    import javafx.scene.Group;
      
    public class canvas extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            // set title for the stage
            stage.setTitle("creating canvas");
      
            // create a canvas
            Canvas canvas = new Canvas(100.0f, 100.0f);
      
            // graphics context
            GraphicsContext graphics_context = 
                 canvas.getGraphicsContext2D();
      
            // set fill for rectangle
            graphics_context.setFill(Color.RED);
            graphics_context.fillRect(20, 20, 70, 70);
      
            // set fill for oval
            graphics_context.setFill(Color.BLUE);
            graphics_context.fillOval(30, 30, 70, 70);
      
            // create a Group
            Group group = new Group(canvas);
      
            // create a scene
            Scene scene = new Scene(group, 200, 200);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    Producción:

  2. Programa Java para crear un lienzo y usar la función setHeight() y setWidth() para establecer el tamaño del lienzo y agregarlo al escenario y también agregarle un círculo y un rectángulo: En este programa crearemos un lienzo llamado lienzo y estableceremos el ancho y altura usando la función setWidth() y setHeight() . Extraeremos el GraphicsContext usando la función getGraphicsContext2D() y dibujaremos dos rectángulos y un óvalo de diferente color. Crearemos un grupo llamado Grupo y agregaremos el lienzo al grupo. Crearemos una escena y agregaremos el grupo a la escena y luego adjuntaremos la escena al escenario. Finalmente, llama a la función show() para mostrar los resultados.

    // Java Program to create a canvas and use 
    // setHeight() and setWidth() function to
    // set canvas size and add it to the stage
    // and also add a circle and rectangle on it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.canvas.*;
    import javafx.scene.paint.Color;
    import javafx.scene.Group;
      
    public class canvas1 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            // set title for the stage
            stage.setTitle("creating canvas");
      
            // create a canvas
            Canvas canvas = new Canvas();
      
            // set height and width
            canvas.setHeight(400);
            canvas.setWidth(400);
      
            // graphics context
            GraphicsContext graphics_context = 
                canvas.getGraphicsContext2D();
      
            // set fill for rectangle
            graphics_context.setFill(Color.PINK);
            graphics_context.fillRect(40, 40, 100, 100);
      
            // set fill for rectangle
            graphics_context.setFill(Color.RED);
            graphics_context.fillRect(20, 20, 70, 70);
      
            // set fill for oval
            graphics_context.setFill(Color.BLUE);
            graphics_context.fillOval(30, 30, 70, 70);
      
            // create a Group
            Group group = new Group(canvas);
      
            // create a scene
            Scene scene = new Scene(group, 400, 400);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    Producción:

  3. Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.

    Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/canvas/Canvas.html

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *