Como reduzir o tamanho da imagem em Java

Como reduzir o tamanho da imagem em Java

Este redutor de tamanho de imagem biblioteca oferece técnicas de compactação de nível empresarial para compactar imagens. Na verdade, você pode personalizar suas chamadas de API de acordo com seus requisitos de negócios usando vários tipos e níveis de compactação fornecidos por essa biblioteca rica em recursos. Portanto, vamos configurar esta biblioteca em nosso projeto Java e construir um compressor de imagens online. Este tutorial nos ensinará como reduzir o tamanho da imagem em Java programaticamente.

Serão abordados os seguintes pontos:

Instalação da biblioteca do redutor de tamanho de imagem

A instalação de qualquer biblioteca é importante quando se trata de desenvolvimento rápido de aplicativos. De qualquer forma, você pode baixar o arquivo JAR ou instalar esta biblioteca usando as seguintes configurações do 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>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

Reduza o tamanho da imagem PNG programaticamente

Há uma enorme pilha de métodos oferecidos por esta biblioteca que você pode encontrar aqui. Além disso, você pode definir a cor, o tipo de compactação e muitos outros atributos das imagens programaticamente.

Siga as etapas a seguir e o snippet de código para compactar imagens PNG:

  1. Carregue o arquivo de imagem PNG de origem chamando o método Image.load.
  2. Faça um loop sobre o possível intervalo CompressionLevel.
  3. Crie uma instância da classe PngOptions para cada PNG resultante para acessar as opções do PNG.
  4. Defina CompressionLevel. Considerando que, o nível de compactação da imagem png na faixa de 0-9, onde 9 é a compactação máxima e 0 é o modo de armazenamento.
  5. Salve os resultados no disco chamando o método save.

Copie e cole o seguinte código em seu arquivo principal:

// Carregue o arquivo de imagem PNG de origem chamando o método Image.load.  
Image image = Image.load(  "output.png");
// Faça um loop sobre o possível intervalo de CompressionLevel
for (int i = 0; i <= 9; i++) {
    // Crie uma instância de PngOptions para cada PNG resultante para acessar as opções de PNG.
    PngOptions options = new PngOptions();
    // Defina CompressionLevel. Considerando que, o nível de compactação da imagem png na faixa de 0-9, onde 9 é a compactação máxima e 0 é o modo de armazenamento. 
    options.setCompressionLevel(i);
    // Salve o resultado no disco chamando o método save. 
    image.save("CompressingFiles_out" + i + ".png", options);
}

Compactar imagens TIFF em Java

Da mesma forma, esta biblioteca permite construir um compressor de imagem online onde você pode reduzir o tamanho de arquivos de imagem TIFF usando algumas linhas de código Java.

Você pode seguir os passos mencionados abaixo:

  1. Invoque o método image.load para carregar uma imagem por meio do local do caminho do arquivo ou fluxo.
  2. Crie uma instância de TiffOptions para a imagem resultante.
  3. Defina BitsPerSample, modo fotométrico e modo de compactação chamando o método setBitsPerSample.
  4. Chame o método setCompression para definir a compactação.
  5. Invoque o método setPhotometric para definir a fotometria.
  6. Defina a paleta de tons de cinza chamando o método setPalette.
  7. Save a saída.
// Invoque o método image.load para carregar uma imagem por meio do local ou fluxo do caminho do arquivo.  
try (Image image = Image.load(  "sample.tiff"))
{
    // Crie uma instância de TiffOptions para a imagem resultante. 
    TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
    // Defina BitsPerSample, modo fotométrico e modo de compactação chamando o método setBitsPerSample.
    outputSettings.setBitsPerSample(new int[] { 4 });
    // Chame o método setCompression para definir a compactação. 
    outputSettings.setCompression(TiffCompressions.AdobeDeflate);
    // Invoque o método setPhotometric para definir o photometric. 
    outputSettings.setPhotometric(TiffPhotometrics.Palette);
    // Defina a paleta graycale chamando o método setPalette. 
    outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
    // Salve a saída. 
    image.save(  "out_adobedeflate.tiff", outputSettings);
}

Você pode ver a saída na imagem abaixo:

Comprimir imagens TIFF

Obtenha uma licença gratuita

Você pode aproveitar uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Resumindo

Isso nos leva ao final deste tutorial. Você aprendeu como reduzir o tamanho da imagem em Java junto com alguns outros tópicos importantes. Além disso, você aprendeu como compactar imagens TIFF e reduzir o tamanho da imagem PNG programaticamente. Esta postagem de blog realmente ajudará você a criar um compressor de imagens online usando algumas linhas de código-fonte. Por fim, não pule a documentação caso precise construir um redutor de tamanho de imagem para seu aplicativo de negócios.

Além disso, sugerimos que você siga nosso Guia de primeiros passos.

Finalmente, conholdate.com está escrevendo novas postagens no blog. Então, por favor, fique em contato para atualizações regulares.

Faça uma pergunta

Você pode nos informar sobre suas perguntas ou dúvidas em nosso fórum.

Perguntas frequentes

Como redimensionar uma imagem na codificação?

Instale esta biblioteca de processamento de imagem Java para redimensionar imagens programaticamente. Ele oferece métodos para manipular imagens usando algumas linhas de código-fonte em Java.

Veja também