1. Produtos
  2.   Imagem
  3.   Java
  4.   Apache Commons Imaging
 
  

Processamento e manipulação de imagens Java de código aberto

A principal biblioteca de edição e manipulação de imagens Java de código aberto permite ler, escrever, manipular e converter formatos amplamente utilizados, como PNG, JPEG, BMP, TIFF, ICO e muito mais.

O que é Apache Commons Imaging?

Apache Commons Imaging, anteriormente conhecido como Sanselan, é uma biblioteca Java poderosa e de código aberto desenvolvida sob o projeto Apache Commons. Ela faz parte do projeto mais amplo Apache Commons e oferece aos desenvolvedores de software uma maneira eficiente de ler e escrever uma variedade de formatos de imagem sem depender de bibliotecas externas. Os desenvolvedores de software podem lidar com uma ampla variedade de formatos de imagem, simplificando tarefas como leitura e escrita de imagens, conversão para outros formatos, manipulação de metadados de imagem, renderização de imagem personalizada, modelos de cores de imagem, manipulação de imagem e assim por diante. A flexibilidade da biblioteca a torna ideal para aplicativos que exigem processamento de imagem sem depender de dependências externas. A biblioteca fornece uma variedade de filtros de imagem, incluindo desfoque, nitidez e detecção de bordas.

Apache Commons Imaging é uma biblioteca robusta e versátil que simplifica o processo de trabalho com arquivos de imagem em aplicativos Java. É uma biblioteca baseada em Java que suporta múltiplos formatos de imagem como PNG, JPEG, BMP, GIF, TIFF, ICO, e assim por diante. Além disso, oferece ferramentas para análise de imagem, incluindo cálculo de histograma, conversão de espaço de cor e segmentação de imagem. É uma escolha ideal para desenvolvedores, pesquisadores e entusiastas. A biblioteca oferece uma API eficiente e simples de usar para manipulação de imagem, que pode ser especialmente útil em ambientes com recursos limitados. Esteja você trabalhando em um projeto que requer processamento de imagem, ou simplesmente queira experimentar a manipulação de imagem, o Apache Commons Imaging definitivamente vale a pena explorar.

Previous Next

Introdução ao Apache Commons Imaging

A maneira recomendada de instalar o Apache Commons Imaging é usando o Maven Repository. Use o comando a seguir para uma instalação tranquila.

Repositório Maven para Apache Commons Imaging

 

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

//Define Aspose.PDF for Java API Dependency

<dependencies>
	<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-imaging</artifactId>
	<version>1.0.0-alpha5</version>
	</dependency>
</dependencies>

Instalar o Apache Commons Imaging via GitHub

go get -u https://github.com/apache/commons-imaging.git 

Você pode baixar a biblioteca diretamente da página do produto GitHub

Conversão de imagens dentro de aplicativos Java

Diagramas armazenados em um formato (por exemplo, PNG) podem precisar ser convertidos para outro formato (por exemplo, BMP ou JPEG) para fins de compatibilidade ou otimização. O Apache Commons Imaging oferece recursos de conversão, permitindo que os desenvolvedores convertam vários formatos de arquivo de imagem entre formatos suportados sem esforço. O exemplo a seguir mostra como os desenvolvedores de software podem converter facilmente um arquivo PNG para o formato BMP. O processo é direto e pode lidar com conversões entre quaisquer formatos suportados, tornando-o ideal para aplicativos que precisam salvar imagens em vários formatos para fins de compatibilidade.

Como converter um arquivo PNG para o formato de arquivo BMP via API Java?


File inputFile = new File("diagram.png");
BufferedImage image = Imaging.getBufferedImage(inputFile);
File outputFile = new File("converted_image.bmp");
Imaging.writeImage(image, outputFile, ImageFormats.BMP, null);

Manipulação de imagem via biblioteca Java

O Apache Commons Imaging pode ser usado em combinação com outras bibliotecas Java como BufferedImage para executar transformações comuns de imagem, como redimensionamento, corte e escala. O método Scalr.resize() de outra biblioteca de processamento de imagem Java (imgscalr) é usado para redimensionamento, seguido pelo salvamento da imagem redimensionada usando o Apache Commons Imaging. Isso permite integração perfeita com outras bibliotecas Java para manipulação avançada de imagem.

Como redimensionar uma imagem dentro de aplicativos Java?

BufferedImage originalImage = Imaging.getBufferedImage(new File("sample_image.png"));
BufferedImage resizedImage = Scalr.resize(originalImage, 300); // Resize width to 300px

File outputFile = new File("resized_image.png");
Imaging.writeImage(resizedImage, outputFile, ImageFormats.PNG, null);

Extração de metadados de imagem via API Java

Um dos principais recursos do Apache Commons Imaging é sua capacidade de extrair metadados de imagens dentro de aplicativos Java. Para diagramas, esses metadados podem conter informações úteis, como data de criação, histórico de modificações ou detalhes do autor. Esse recurso permite que os desenvolvedores processem imagens de diagramas de maneiras que vão além da mera exibição. O exemplo a seguir mostra como os desenvolvedores de software podem extrair metadados de imagens dentro de aplicativos Java.

Como extrair metadados de imagens via API Java?

File imageFile = new File("diagram.png");
ImageInfo imageInfo = Imaging.getImageInfo(imageFile);
System.out.println("Format: " + imageInfo.getFormat());
System.out.println("Width: " + imageInfo.getWidth());
System.out.println("Height: " + imageInfo.getHeight());

Renderização de imagem personalizada em aplicativos Java

Desenvolvedores de software podem usar o Apache Commons Imaging para gerar imagens em tempo real ou modificar as existentes dentro de aplicativos Java. Ao combinar a biblioteca com o Graphics2D nativo do Java, é possível desenhar em imagens programaticamente ou adicionar anotações. O exemplo de código a seguir cria uma imagem em branco, adiciona texto a ela e a salva como um arquivo PNG. Ele demonstra como o Apache Commons Imaging pode trabalhar com as APIs de desenho do Java para gerar imagens do zero.

Como gerar imagens do zero via Java?

BufferedImage image = new BufferedImage(400, 300, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = image.createGraphics();
graphics.setPaint(Color.WHITE);
graphics.fillRect(0, 0, image.getWidth(), image.getHeight());

graphics.setPaint(Color.BLACK);
graphics.setFont(new Font("Arial", Font.BOLD, 20));
graphics.drawString("Custom Diagram", 100, 150);

graphics.dispose();
File outputFile = new File("custom_image.png");
Imaging.writeImage(image, outputFile, ImageFormats.PNG, null);
 Português