Imagens bitmap são uma parte fundamental dos gráficos modernos. Estas são usadas em sites, dispositivos móveis e aplicativos de desktop. Formatos como BMP, GIF, PNG e JPEG são todos baseados em bitmap. Neste artigo, você aprenderá a criar, carregar, preencher e desenhar bitmaps em Java.
SDK de Desenho de Imagens Java para Trabalhar com Bitmaps
Neste artigo, nós usaremos Aspose.Drawing for Java para criar e desenhar em bitmaps em Java. É uma API de gráficos 2D que suporta desenhar formas, texto e imagens em várias plataformas. Você pode carregar e salvar vários formatos facilmente.
Você pode baixar a biblioteca a partir do releases e adicionar o JAR ao seu projeto ou instalar via Maven.
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-drawing</artifactId>
<version>25.6</version> <!-- Replace with latest version -->
</dependency>
1. Criar um Novo Bitmap em Java
Para criar um bitmap do zero, siga os passos abaixo:
- Crie um novo
bitmap
com largura e altura específicas. - Crie um objeto da classe
Graphics
a partir do bitmap. - Inicializar um objeto da classe
Pen
com uma espessura e cor específicas. - Desenhe uma elipse no bitmap usando a caneta.
- Salve o bitmap como um arquivo de imagem PNG.
O seguinte exemplo de código mostra como criar um novo bitmap em Java.
// Crie um novo bitmap com largura e altura de 800 pixels.
Bitmap bitmap = new Bitmap(800, 800);
// Crie um objeto gráfico a partir do bitmap para permitir a desenho.
Graphics graphics = Graphics.fromImage(bitmap);
// Inicialize uma caneta vermelha com uma espessura de 5 pixels
Pen pen = new Pen(Color.getRed(), 5);
// Desenhe uma elipse usando a caneta começando em (0, 0) com largura e altura de 700 pixels
graphics.drawEllipse(pen, 0, 0, 700, 700);
// Salve o bitmap final como um arquivo de imagem PNG.
bitmap.save("output.png");

Criar um Novo Bitmap em Java
2. Criar Bitmap a partir de Memory Stream
Para criar um bitmap a partir de um fluxo de memória, siga os passos abaixo:
- Abra um fluxo de entrada de arquivo para o arquivo de imagem existente.
- Crie um bitmap a partir do fluxo de entrada.
- Salve o bitmap em um novo arquivo de imagem.
O seguinte exemplo de código mostra como criar um bitmap usando um fluxo de entrada em Java.
// Abra um fluxo de entrada de arquivo para ler a imagem existente
InputStream stream = new FileInputStream("input.png");
// Crie um bitmap a partir do fluxo de entrada
Bitmap bitmap = new Bitmap(stream);
// Salve o bitmap como um novo arquivo PNG.
bitmap.save("output.png", ImageFormat.getPng().d());
3. Salvar Bitmap em Arquivo
Você pode salvar uma imagem bitmap em um arquivo em vários formatos suportados. Basta especificar o caminho do arquivo e o formato de imagem desejado ao chamar o método save()
. Isso permite que você exporte o bitmap como PNG, JPEG, BMP, GIF e mais.
Você pode salvar bitmaps em diferentes formatos mudando o formato da imagem:
- Salvar um Bitmap como um arquivo BMP
bitmap.save("output.bmp", ImageFormat.getBmp().d());
- Salvar um Bitmap como um arquivo PNG
bitmap.save("output.png", ImageFormat.getPng().d());
- Salvar um Bitmap como um arquivo JPG
bitmap.save("output.jpg", ImageFormat.getJpeg().d());
- Salvar um Bitmap como um arquivo GIF
bitmap.save("output.gif", ImageFormat.getGif().d());
4. Desenhar Formas no Bitmap
Você pode desenhar uma variedade de formas em um bitmap usando a classe Graphics
fornecida pela Aspose.Drawing for Java. Ela permite que você crie gráficos personalizados e lhe dá controle total sobre linhas, curvas, retângulos, elipses e mais.
O seguinte exemplo de código mostra como desenhar formas em um bitmap em Java.
// Crie um novo bitmap com largura e altura de 500 pixels
Bitmap bitmap = new Bitmap(500, 500);
// Crie um objeto gráfico para desenhar no bitmap
Graphics graphics = Graphics.fromImage(bitmap);
// Inicialize uma caneta azul com uma espessura de 2 pixels.
Pen pen = new Pen(Color.getBlue(), 2);
// Desenhe um retângulo começando em (10, 10) com largura 100 e altura 50
graphics.drawRectangle(pen, 10, 10, 100, 50);
// Desenhe uma elipse começando em (10, 130) com largura 280 e altura 280
graphics.drawEllipse(pen, 10, 130, 280, 280);
// Salve a imagem bitmap final como um arquivo PNG
bitmap.save("draw_shapes.png");

Desenhar Formas em Bitmap em Java
Você pode desenhar várias formas em um bitmap usando os métodos de desenho incorporados fornecidos pela classe Graphics
em Aspose.Drawing for Java. Abaixo estão os tipos de formas suportados e os métodos correspondentes:
- Arc: Use o método
drawArc()
para desenhar um arco. - Curva de Bezier: Use o método
drawBezier()
para desenhar uma única curva de Bezier. - Múltiplas Curvas Bezier: Use o método
drawBeziers()
para desenhar uma sequência de splines Bezier. - Curve: Use the
drawCurve()
method to create a smooth, curved shape. - Curva Fechada: Use o método
drawClosedCurve()
para desenhar uma spline fechada. - Ellipse: Use o método
drawEllipse()
para desenhar uma forma elíptica. - Linha: Use o método
drawLine()
para desenhar uma linha reta. - Várias Linhas: Use o
drawLines()
método para desenhar uma série de linhas conectadas. - Caminho: Use o método
drawPath()
para renderizar formas complexas usando umGraphicsPath
. - Pie: Use o método
drawPie()
para desenhar uma forma de fatia de torta. - Polígono: Use o método
drawPolygon()
para criar um polígono conectando pontos. - Retângulo: Use o
drawRectangle()
método para desenhar um retângulo. - Múltiplos Retângulos: Use o método
drawRectangles()
para desenhar vários retângulos de uma só vez.
Além de formas, você também pode desenhar imagens no bitmap:
- Ícone: Use o método
drawIcon()
para desenhar um ícone dentro de um retângulo específico. - Imagem: Use o método
drawImage()
para desenhar outra imagem no bitmap.
Esses métodos de desenho facilitam a criação de gráficos personalizados, diagramas ou imagens anotadas programaticamente.
5. Desenhar texto em Bitmap
Para desenhar texto em um bitmap seguindo os passos abaixo:
- Crie um novo bitmap com uma largura e altura definidas.
- Crie um objeto gráfico a partir do bitmap.
- Limpe o bitmap com uma cor de fundo cinza claro.
- Defina uma fonte com o nome e tamanho desejados.
- Crie um pincel sólido com a cor preta.
- Desenhe uma string de texto no bitmap usando a fonte e o pincel especificados.
- Salve o bitmap como um arquivo de imagem PNG.
O seguinte exemplo de código mostra como desenhar texto em um bitmap em Java.
// Como desenhar texto em um bitmap em Java usando Aspose.Drawing
// Crie um novo bitmap com dimensões de 500x200 pixels
Bitmap bitmap = new Bitmap(500, 200);
// Crie um objeto gráfico para desenhar no bitmap
Graphics graphics = Graphics.fromImage(bitmap);
// Preencha todo o bitmap com um fundo cinza claro.
graphics.clear(Color.getLightGray());
// Defina uma fonte com o nome \"Arial\" e tamanho 24
Font font = new Font("Arial", 24);
// Crie um pincel preto sólido para desenhar o texto
Brush brush = new SolidBrush(Color.getBlack());
// Desenhe a string no bitmap na posição (20, 80)
graphics.drawString("Welcome to Bitmap!", font, brush, 20, 80);
// Salve a imagem final com o texto como um arquivo PNG.
bitmap.save("output.png");

Java Desenhar Texto em Bitmap
6. Preencher Bitmap com Cor Sólida
Você pode preencher parte da imagem com uma cor sólida seguindo os passos abaixo:
- Crie um novo bitmap com a largura e altura desejadas.
- Crie um objeto gráfico a partir do bitmap.
- Crie um pincel cinza sólido para preenchimento.
- Preencha toda a área do bitmap com a cor cinza usando um retângulo preenchido.
- Salve o bitmap como um arquivo de imagem PNG.
O seguinte exemplo de código mostra como preencher um bitmap com uma cor sólida usando um retângulo em Java.
// Crie um novo bitmap com dimensões 500x500 pixels
Bitmap bitmap = new Bitmap(500, 500);
// Crie um objeto gráfico para desenhar no bitmap.
Graphics graphics = Graphics.fromImage(bitmap);
// Crie um pincel cinza sólido para usar para preencher
SolidBrush brush = new SolidBrush(Color.getGray());
// Preencha toda a área do bitmap com a cor cinza
graphics.fillRectangle(brush, 0, 0, bitmap.getWidth(), bitmap.getHeight());
// Salve o bitmap preenchido como um arquivo de imagem PNG.
bitmap.save("output.png");

Java Desenhar Retângulo em Bitmap e Preencher com uma Cor
7. Carregar uma Imagem em Bitmap
Você também pode carregar um arquivo de imagem em um objeto Bitmap
da seguinte forma:
- Crie um novo bitmap em branco com o tamanho desejado.
- Carregue uma imagem existente em um objeto bitmap.
- Crie um objeto gráfico a partir do bitmap em branco.
- Desenhe a imagem carregada no bitmap em branco no canto superior esquerdo.
- Salve o bitmap final como um arquivo de imagem PNG.
O seguinte exemplo de código mostra como carregar uma imagem em um bitmap usando Java.
// Criar um novo bitmap em branco com dimensões de 500x500 pixels
Bitmap bitmap = new Bitmap(500, 500);
// Carregue uma imagem existente de um arquivo em um objeto bitmap.
Bitmap loaded = new Bitmap("C:\\Files\\Drawings\\sample.jpg");
// Crie um objeto gráfico para desenhar no bitmap em branco
Graphics graphics = Graphics.fromImage(bitmap);
// Desenhe a imagem carregada no bitmap em branco na posição (0, 0)
graphics.drawImage(loaded, 0, 0);
// Salve o bitmap final como um novo arquivo PNG.
bitmap.save("output.png");

Carregar uma Imagem em Bitmap usando Java
8. Redimensionar uma Imagem Existente
Para redimensionar uma imagem bitmap:
- Carregue a imagem original em um objeto bitmap.
- Crie um novo bitmap com metade da largura e altura da imagem original.
- Salve o bitmap redimensionado como um arquivo de imagem PNG.
O seguinte exemplo de código mostra como redimensionar uma imagem existente e salvá-la como um novo bitmap em Java.
// Carregue a imagem original do arquivo em um objeto bitmap
Bitmap original = new Bitmap("C:\\Files\\Drawings\\sample.jpg");
// Crie um novo bitmap redimensionado com 50% da largura e altura originais.
Bitmap resized = new Bitmap(original, new Size((int)(original.getWidth() * 0.5), (int)(original.getHeight() * 0.5)));
// Salve o bitmap redimensionado como um novo arquivo de imagem PNG.
resized.save("output.png");

Redimensionar Imagem Existente usando Java
Experimente o Aspose.Drawing gratuitamente
Você pode obter uma licença temporária gratuita para explorar Aspose.Drawing sem limites.
Criar Bitmap em Java: Recursos Gratuitos
se você quiser explorar mais sobre como trabalhar com bitmaps em Java, então navegue pelos seguintes recursos gratuitos para aprofundar seu entendimento e aumentar sua produtividade:
Conclusão
Neste tutorial, você aprendeu como criar e trabalhar com bitmaps usando Aspose.Drawing for Java. Abrimos como gerar um bitmap do zero, carregar e redimensionar imagens existentes, desenhar formas e texto, preencher áreas com cores sólidas e salvar imagens em vários formatos, como PNG, JPG, BMP e GIF. Com essas capacidades, você pode facilmente adicionar gráficos personalizados e processamento de imagem às suas aplicações Java.
Aspose.Drawing for Java facilita o trabalho com gráficos 2D programaticamente. Visite a documentação oficial para explorar mais.