Le immagini bitmap sono una parte fondamentale della grafica moderna. Queste vengono utilizzate su siti web, dispositivi mobili e applicazioni desktop. Formati come BMP, GIF, PNG e JPEG sono tutti basati su bitmap. In questo articolo, imparerai come creare, caricare, riempire e disegnare bitmap in Java.

Java Image Drawing SDK per lavorare con i bitmap

In questo articolo, useremo Aspose.Drawing for Java per creare e disegnare su bitmap in Java. È un’API grafica 2D che supporta il disegno di forme, testo e immagini su diverse piattaforme. Puoi caricare e salvare vari formati con facilità.

Puoi scaricare la libreria da releases e aggiungere il JAR al tuo progetto o installarla tramite Maven.

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>aspose-drawing</artifactId>
  <version>25.6</version> <!-- Replace with latest version -->
</dependency>

1. Crea un nuovo bitmap in Java

Per creare un bitmap da zero, segui i passaggi seguenti:

  1. Crea un nuovo bitmap con larghezza e altezza specifiche.
  2. Crea un oggetto Graphics dalla bitmap.
  3. Inizializza un oggetto della classe Pen con uno spessore e un colore specifici.
  4. Disegna un’ellisse sul bitmap usando la penna.
  5. Salva il bitmap come file immagine PNG.

Il seguente esempio di codice mostra come creare un nuovo bitmap in Java.

// Crea un nuovo bitmap con larghezza e altezza di 800 pixel
Bitmap bitmap = new Bitmap(800, 800);

// Crea un oggetto grafico dal bitmap per abilitare il disegno
Graphics graphics = Graphics.fromImage(bitmap);

// Inizializza una penna rossa con uno spessore di 5 pixel
Pen pen = new Pen(Color.getRed(), 5);

// Disegna un'ellisse usando la penna partendo da (0, 0) con una larghezza e un'altezza di 700 pixel.
graphics.drawEllipse(pen, 0, 0, 700, 700);

// Salva il bitmap finale come file immagine PNG
bitmap.save("output.png");
Crea un nuovo bitmap in Java

Crea un nuovo bitmap in Java

2. Crea Bitmap da Memory Stream

Per creare un bitmap da un flusso di memoria, seguire i passaggi seguenti:

  1. Apri uno stream di input file per il file immagine esistente.
  2. Crea un bitmap dal flusso di input.
  3. Salva il bitmap in un nuovo file immagine.

Il seguente campione di codice mostra come creare un bitmap utilizzando un flusso di input in Java.

// Apri un flusso di input file per leggere l'immagine esistente
InputStream stream = new FileInputStream("input.png");

// Crea un bitmap dal flusso di input
Bitmap bitmap = new Bitmap(stream);

// Salva il bitmap come un nuovo file PNG
bitmap.save("output.png", ImageFormat.getPng().d());

3. Salva Bitmap su File

Puoi salvare un’immagine bitmap su un file in più formati supportati. Basta specificare il percorso del file e il formato dell’immagine desiderato quando chiami il metodo save(). Questo ti consente di esportare il bitmap come PNG, JPEG, BMP, GIF e altro.

Puoi salvare i bitmap in diversi formati modificando il formato dell’immagine:

  • Salva un Bitmap come file BMP
bitmap.save("output.bmp", ImageFormat.getBmp().d());
  • Salva un Bitmap come file PNG
bitmap.save("output.png", ImageFormat.getPng().d());
  • Salva un Bitmap come file JPG
bitmap.save("output.jpg", ImageFormat.getJpeg().d());
  • Salva un Bitmap come file GIF
bitmap.save("output.gif", ImageFormat.getGif().d());

4. Disegna forme su Bitmap

Puoi disegnare una varietà di forme su un bitmap utilizzando la classe Graphics fornita da Aspose.Drawing for Java. Ti consente di creare grafica personalizzata e ti offre il pieno controllo su linee, curve, rettangoli, ellissi e altro ancora.

Il seguente esempio di codice mostra come disegnare forme su un bitmap in Java.

// Crea un nuovo bitmap con larghezza e altezza di 500 pixel
Bitmap bitmap = new Bitmap(500, 500);

// Crea un oggetto grafico per disegnare sul bitmap
Graphics graphics = Graphics.fromImage(bitmap);

// Inizializza una penna blu con uno spessore di 2 pixel
Pen pen = new Pen(Color.getBlue(), 2);

// Draw a rectangle starting at (10, 10) with width 100 and height 50
graphics.drawRectangle(pen, 10, 10, 100, 50);

// Disegna un'ellisse che inizia a (10, 130) con larghezza 280 e altezza 280
graphics.drawEllipse(pen, 10, 130, 280, 280);

// Salva l'immagine bitmap finale come file PNG.
bitmap.save("draw_shapes.png");
Disegna forme su bitmap in Java

Disegna forme su Bitmap in Java

Puoi disegnare varie forme su un bitmap utilizzando i metodi di disegno integrati forniti dalla classe Graphics in Aspose.Drawing for Java. Di seguito sono riportati i tipi di forme supportati e i metodi corrispondenti:

  • Arc: Utilizza il metodo drawArc() per disegnare un arco.
  • Curva di Bezier: Usa il drawBezier() metodo per disegnare una singola curva di Bezier.
  • Curve Bezier Multiple: Usa il metodo drawBeziers() per disegnare una sequenza di spline Bezier.
  • Curve: Usa il drawCurve() metodo per creare una forma curva e morbida.
  • Closed Curve: Use the drawClosedCurve() method to draw a closed spline.
  • Ellisse: Usa il metodo drawEllipse() per disegnare una forma ellittica.
  • Line: Usa il metodo drawLine() per disegnare una linea retta.
  • Linee multiple: Usa il drawLines() metodo per disegnare una serie di linee collegate.
  • Percorso: Usa il metodo drawPath() per disegnare forme complesse utilizzando un GraphicsPath.
  • Pie: Usa il metodo drawPie() per disegnare una forma a fetta di torta.
  • Polygon: Usa il metodo drawPolygon() per creare un poligono collegando punti.
  • Rettangolo: Usa il drawRectangle() metodo per disegnare un rettangolo.
  • Rettangoli multipli: Usa il drawRectangles() metodo per disegnare più rettangoli contemporaneamente.

In aggiunta alle forme, puoi anche disegnare immagini sul bitmap:

  • Icona: Usa il drawIcon() metodo per disegnare un’icona all’interno di un rettangolo specifico.
  • Immagine: Usa il metodo drawImage() per disegnare un’altra immagine sulla bitmap.

Questi metodi di disegno rendono facile creare grafiche personalizzate, diagrammi o immagini annotate in modo programmatico.

5. Disegna testo su bitmap

Per disegnare del testo su un bitmap seguendo i passi qui sotto:

  1. Crea un nuovo bitmap con una larghezza e un’altezza definite.
  2. Crea un oggetto grafico dal bitmap.
  3. Cancella il bitmap con un colore di sfondo grigio chiaro.
  4. Definisci un carattere con il nome e la dimensione desiderati.
  5. Crea un pennello solido di colore nero.
  6. Disegna una stringa di testo sul bitmap utilizzando il font e il pennello specificati.
  7. Salva il bitmap come un file immagine PNG.

Il seguente esempio di codice mostra come disegnare testo su un bitmap in Java.

// How to draw text on a bitmap in Java using Aspose.Drawing
// Crea un nuovo bitmap con dimensioni 500x200 pixel
Bitmap bitmap = new Bitmap(500, 200);

// Crea un oggetto grafico su cui disegnare sul bitmap.
Graphics graphics = Graphics.fromImage(bitmap);

// Riempi l'intera bitmap con uno sfondo grigio chiaro.
graphics.clear(Color.getLightGray());

// Definisci un font con il nome \"Arial\" e dimensione 24
Font font = new Font("Arial", 24);

// Crea un pennello nero solido per disegnare il testo
Brush brush = new SolidBrush(Color.getBlack());

// Disegna la stringa sul bitmap nella posizione (20, 80)
graphics.drawString("Welcome to Bitmap!", font, brush, 20, 80);

// Salva l'immagine finale con il testo come file PNG.
bitmap.save("output.png");
Java Disegna Testo su Bitmap

Java Disegna Testo su Bitmap

6. Riempire il Bitmap con un Colore Solido

Puoi riempire parte dell’immagine con un colore solido seguendo i passaggi seguenti:

  1. Crea un nuovo bitmap con la larghezza e l’altezza desiderate.
  2. Crea un oggetto grafico dal bitmap.
  3. Crea un pennello grigio solido per il riempimento.
  4. Riempi l’intera area della bitmap con il colore grigio utilizzando un rettangolo pieno.
  5. Salva il bitmap come file immagine PNG.

Il seguente esempio di codice mostra come riempire un bitmap con un colore solido utilizzando un rettangolo in Java.

// Crea una nuova bitmap con dimensioni 500x500 pixel
Bitmap bitmap = new Bitmap(500, 500);

// Crea un oggetto grafico per disegnare sulla bitmap
Graphics graphics = Graphics.fromImage(bitmap);

// Crea un pennello grigio solido da usare per riempire
SolidBrush brush = new SolidBrush(Color.getGray());

// Riempi l'intera area della bitmap con il colore grigio
graphics.fillRectangle(brush, 0, 0, bitmap.getWidth(), bitmap.getHeight());

// Salva il bitmap compilato come file immagine PNG.
bitmap.save("output.png");
Java Disegna su Bitmap e Riempi con Rettangolo

Java Disegna un rettangolo su Bitmap e riempi con un colore

7. Carica un’immagine in Bitmap

Puoi anche caricare un file immagine in un oggetto Bitmap come segue:

  1. Crea un nuovo bitmap vuoto con le dimensioni desiderate.
  2. Carica un’immagine esistente in un oggetto bitmap.
  3. Crea un oggetto grafico dal bitmap vuoto.
  4. Disegna l’immagine caricata sul bitmap vuoto nell’angolo in alto a sinistra.
  5. Salva il bitmap finale come file immagine PNG.

Il seguente esempio di codice mostra come caricare un’immagine in un bitmap utilizzando Java.

// Crea un nuovo bitmap vuoto con dimensioni 500x500 pixel
Bitmap bitmap = new Bitmap(500, 500);

// Carica un'immagine esistente da file in un oggetto bitmap
Bitmap loaded = new Bitmap("C:\\Files\\Drawings\\sample.jpg");

// Crea un oggetto grafico per disegnare sulla bitmap vuota
Graphics graphics = Graphics.fromImage(bitmap);

// Disegna l'immagine caricata sul bitmap vuoto nella posizione (0, 0)
graphics.drawImage(loaded, 0, 0);

// Salva il bitmap finale come un nuovo file PNG.
bitmap.save("output.png");
Carica un'immagine in Bitmap usando Java

Carica un’immagine in Bitmap utilizzando Java

8. Ridimensiona un’immagine esistente

Per ridimensionare un’immagine bitmap:

  1. Carica l’immagine originale in un oggetto bitmap.
  2. Crea un nuovo bitmap con metà della larghezza e dell’altezza dell’immagine originale.
  3. Salva il bitmap ridimensionato come file immagine PNG.

Il seguente esempio di codice mostra come ridimensionare un’immagine esistente e salvarla come un nuovo bitmap in Java.

// Carica l'immagine originale dal file in un oggetto bitmap.
Bitmap original = new Bitmap("C:\\Files\\Drawings\\sample.jpg");

// Crea un nuovo bitmap ridimensionato con il 50% della larghezza e dell'altezza originali.
Bitmap resized = new Bitmap(original, new Size((int)(original.getWidth() * 0.5), (int)(original.getHeight() * 0.5)));

// Salva il bitmap ridimensionato come un nuovo file immagine PNG.
resized.save("output.png");
Come ridimensionare un'immagine utilizzando Bitmap in Java

Ridimensiona l’immagine esistente utilizzando Java

Prova Aspose.Drawing gratuitamente

Puoi ottenere una free temporary license per esplorare Aspose.Drawing senza limiti.

Crea Bitmap in Java: Risorse gratuite

se vuoi esplorare di più su come lavorare con bitmap in Java, allora esplora le seguenti risorse gratuite per approfondire la tua comprensione e aumentare la tua produttività:

Conclusione

In questo tutorial, hai imparato come creare e lavorare con bitmap utilizzando Aspose.Drawing for Java. Abbiamo trattato come generare un bitmap da zero, caricare e ridimensionare immagini esistenti, disegnare forme e testo, riempire aree con colori solidi e salvare immagini in vari formati come PNG, JPG, BMP e GIF. Con queste capacità, puoi facilmente aggiungere grafica personalizzata e elaborazione delle immagini alle tue applicazioni Java.

Aspose.Drawing for Java rende facile lavorare con grafica 2D in modo programmatico. Visita la documentazione ufficiale per esplorare di più.

See Also