Dibujar formas en Java

En ciertos casos, es posible que deba crear diferentes objetos dibujando formas como círculos, líneas, rectángulos, etc. Además, es posible que deba dibujar estas formas en las imágenes para anotarlas. En este artículo, aprenderá cómo dibujar formas mediante programación en Java. En particular, aprenderá a dibujar líneas, elipses, arcos y rectángulos y generar sus imágenes.

API de Java para dibujar formas - Descarga gratuita

Para dibujar las formas y generar imágenes de salida, usaremos Aspose.Imaging for Java. Es una potente API de edición de imágenes que proporciona una amplia gama de funciones para manipular imágenes y crear dibujos. Puede descargar la API o instalarla usando las siguientes configuraciones de Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>22.9</version>
</dependency>

Dibujar una línea usando Java

Los siguientes son los pasos para dibujar una línea en Java.

El siguiente ejemplo de código muestra cómo dibujar una línea en Java.

// Crear BmpOpciones
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// Defina la propiedad de origen para la instancia de BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Crea una instancia de Image y llama al método create pasando el
// objeto bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 500, 500);

// Crear e inicializar una instancia de la clase Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Borrar la superficie de la imagen con color blanco
graphic.clear(com.aspose.imaging.Color.getWhite());

// Dibuje una línea de puntos especificando el objeto Pluma que tiene color azul y
// Puntos de coordenadas
graphic.drawLine(new Pen(com.aspose.imaging.Color.getBlue(), 3), 18, 18, 200, 200);
graphic.drawLine(new Pen(com.aspose.imaging.Color.getBlue(), 3), 18, 200, 200, 18);

// Dibuje una línea continua especificando el objeto Pluma que tiene Sólido
// Pincel con color rojo y estructuras de dos puntos
graphic.drawLine(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getRed()), 3),
		new com.aspose.imaging.Point(18, 18), new com.aspose.imaging.Point(18, 200));

// Dibuje una línea continua especificando el objeto Pluma que tiene Sólido
// Pincel de color blanco y estructuras de dos puntas
graphic.drawLine(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getOrange()), 3),
		new com.aspose.imaging.Point(200, 18), new com.aspose.imaging.Point(18, 18));

// Guardar todos los cambios
image.save("draw_lines.bmp");

El siguiente es el resultado del ejemplo de código anterior.

dibujar linea en Java

Dibuja una elipse usando Java

Los siguientes son los pasos para dibujar una elipse en Java.

El siguiente ejemplo de código muestra cómo dibujar una elipse en una imagen en Java.

// Crear BmpOpciones
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// Defina la propiedad de origen para la instancia de BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Crea una instancia de Image y llama al método create pasando el
// objeto bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Crear e inicializar una instancia de la clase Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Borrar la superficie de la imagen con color blanco
graphic.clear(com.aspose.imaging.Color.getWhite());

// Dibuje una forma de elipse punteada especificando el objeto Pluma que tiene rojo
// color y un rectángulo circundante
graphic.drawEllipse(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// Dibuje una forma de elipse continua especificando el objeto Pen que tiene
// solid brush with blue color y un rectángulo circundante
graphic.drawEllipse(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getBlue()), 3),
		new com.aspose.imaging.Rectangle(40, 60, 120, 70));

// Guardar todos los cambios
image.save("draw_ellipse.bmp");

El siguiente es el resultado del ejemplo de código anterior.

dibujar elipse en Java

Dibujar un arco usando Java

Los siguientes son los pasos para dibujar un arco en Java.

El siguiente ejemplo de código muestra cómo dibujar un arco en una imagen en Java.

// Crear BmpOpciones
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// Defina la propiedad de origen para la instancia de BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Crea una instancia de Image y llama al método Create pasando el
// Objeto BmpOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Crear e inicializar una instancia de la clase Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Borrar la superficie de la imagen con color blanco
graphic.clear(com.aspose.imaging.Color.getWhite());

// Dibuje una forma de arco punteado especificando el objeto Pluma que tiene rojo negro
// color y coordenadas, altura, ancho, ángulos inicial y final
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Dibujar arco a la pantalla
graphic.drawArc(new Pen(com.aspose.imaging.Color.getBlack(), 3), 0, 0, width, height, startAngle, sweepAngle);

// Guardar todos los cambios
image.save("draw_arc.bmp");

El siguiente es el resultado del ejemplo de código anterior.

dibujar arco en Java

Dibuja un rectángulo usando Java

Los siguientes son los pasos para dibujar un rectángulo en Java.

El siguiente ejemplo de código muestra cómo dibujar un rectángulo en una imagen en Java.

// Crear BmpOpciones
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// Defina la propiedad de origen para la instancia de BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Crea una instancia de Image y llama al método Create pasando el
// bmpCreateOptionsobject
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Crear e inicializar una instancia de la clase Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Borrar la superficie de la imagen con color blanco
graphic.clear(com.aspose.imaging.Color.getWhite());

// Dibuje una forma de rectángulo punteado especificando el objeto Pluma que tiene rojo
// color y una estructura rectangular
graphic.drawRectangle(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// Dibuje una forma de rectángulo continuo especificando el objeto Pen que tiene
// solid brush with blue color y una estructura rectangular
graphic.drawRectangle(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getBlue()), 3),
		new com.aspose.imaging.Rectangle(40, 60, 120, 70));

// Guardar todos los cambios
image.save("draw_rectangle.bmp");

El siguiente es el resultado del ejemplo de código anterior.

dibujar un rectángulo en Java

API de dibujo de imágenes de Java: obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita y dibujar formas sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a dibujar formas en Java. Hemos cubierto cómo dibujar líneas, elipses, arcos y rectángulos en imágenes mediante programación. Puede integrar fácilmente los ejemplos de código proporcionados en sus aplicaciones Java.

Lee mas

Puede explorar más sobre la API de procesamiento de imágenes de Java usando documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.

Ver también