Disegna forme in Java

In alcuni casi, potrebbe essere necessario creare oggetti diversi disegnando forme come cerchi, linee, rettangoli, ecc. Inoltre, potrebbe essere necessario disegnare queste forme sulle immagini per l’annotazione. In questo articolo imparerai come disegnare forme a livello di codice in Java. In particolare, imparerai come disegnare linee, ellissi, archi e rettangoli e come generare le loro immagini.

API Java per disegnare forme - Download gratuito

Per disegnare le forme e generare immagini di output, useremo Aspose.Imaging for Java. È una potente API di modifica delle immagini che fornisce un’ampia gamma di funzionalità per manipolare le immagini e creare disegni. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni 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>

Disegna una linea usando Java

Di seguito sono riportati i passaggi per disegnare una linea in Java.

L’esempio di codice seguente mostra come disegnare una linea in Java.

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

// Definire la proprietà di origine per l'istanza di BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Crea un'istanza di Image e chiama il metodo create passando il
// oggetto bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 500, 500);

// Crea e inizializza un'istanza della classe Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Cancella la superficie dell'immagine con il colore bianco
graphic.clear(com.aspose.imaging.Color.getWhite());

// Disegna una linea tratteggiata specificando l'oggetto Penna con il colore blu e
// coordinare i punti
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);

// Disegna una linea continua specificando che l'oggetto Penna ha Solid
// Spennellare con il colore rosso e le strutture a due punti
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));

// Disegna una linea continua specificando che l'oggetto Penna ha Solid
// Pennello con colore bianco e strutture a due punte
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));

// Salva tutte le modifiche
image.save("draw_lines.bmp");

Di seguito è riportato l’output dell’esempio di codice precedente.

traccia una linea in Java

Disegna un’ellisse usando Java

Di seguito sono riportati i passaggi per disegnare un’ellisse in Java.

L’esempio di codice seguente mostra come disegnare un’ellisse su un’immagine in Java.

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

// Definire la proprietà di origine per l'istanza di BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Crea un'istanza di Image e chiama il metodo create passando il
// oggetto bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Crea e inizializza un'istanza della classe Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Cancella la superficie dell'immagine con il colore bianco
graphic.clear(com.aspose.imaging.Color.getWhite());

// Disegna una forma di ellisse tratteggiata specificando che l'oggetto Penna è rosso
// colore e un rettangolo circostante
graphic.drawEllipse(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// Disegna una forma di ellisse continua specificando l'oggetto Penna con
// solid brush with blue colore e un rettangolo circostante
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));

// Salva tutte le modifiche
image.save("draw_ellipse.bmp");

Di seguito è riportato l’output dell’esempio di codice precedente.

disegna un'ellisse in Java

Disegna un arco usando Java

Di seguito sono riportati i passaggi per disegnare un arco in Java.

L’esempio di codice seguente mostra come disegnare un arco su un’immagine in Java.

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

// Definire la proprietà di origine per l'istanza di BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Crea un'istanza di Image e chiama il metodo Create passando il
// Oggetto BmpOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Crea e inizializza un'istanza della classe Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Cancella la superficie dell'immagine con il colore bianco
graphic.clear(com.aspose.imaging.Color.getWhite());

// Disegna una forma ad arco punteggiato specificando che l'oggetto Penna ha il rosso nero
// colore e coordinate, altezza, larghezza, angoli di inizio e fine
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Disegna un arco sullo schermo
graphic.drawArc(new Pen(com.aspose.imaging.Color.getBlack(), 3), 0, 0, width, height, startAngle, sweepAngle);

// Salva tutte le modifiche
image.save("draw_arc.bmp");

Di seguito è riportato l’output dell’esempio di codice precedente.

disegna un arco in Java

Disegna un rettangolo usando Java

Di seguito sono riportati i passaggi per disegnare un rettangolo in Java.

L’esempio di codice seguente mostra come disegnare un rettangolo su un’immagine in Java.

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

// Definire la proprietà di origine per l'istanza di BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Crea un'istanza di Image e chiama il metodo Create passando il
// bmpCreateOptionsobject
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Crea e inizializza un'istanza della classe Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Cancella la superficie dell'immagine con il colore bianco
graphic.clear(com.aspose.imaging.Color.getWhite());

// Disegna una forma rettangolare tratteggiata specificando che l'oggetto Penna è rosso
// colore e una struttura rettangolare
graphic.drawRectangle(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// Disegna una forma rettangolare continua specificando l'oggetto Penna avente
// solid brush with blue colore e una struttura rettangolare
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));

// Salva tutte le modifiche
image.save("draw_rectangle.bmp");

Di seguito è riportato l’output dell’esempio di codice precedente.

disegnare un rettangolo in Java

API Java Image Drawing - Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita e disegnare forme senza limitazioni di valutazione.

Conclusione

In questo articolo hai imparato a disegnare forme in Java. Abbiamo spiegato come disegnare linee, ellissi, archi e rettangoli sulle immagini in modo programmatico. Puoi facilmente integrare gli esempi di codice forniti nelle tue applicazioni Java.

Leggi di più

Puoi esplorare di più sull’API di elaborazione delle immagini Java utilizzando documentazione. Inoltre, puoi condividere le tue domande con noi tramite il nostro forum.

Guarda anche