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:
- Canvas() : crea un nuevo objeto de lienzo.
- 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:
- 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:
- 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:
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