Este tópico se concentra em como comprimir um PNG em Java. Ele engloba todos os recursos necessários, classes, métodos e um código de exemplo funcional para compactar PNG usando Java. O aplicativo gerado pode ser usado em qualquer ambiente compatível com Java dentro do Windows, macOS ou Linux.
Etapas para compactar PNG usando Java
- Configure o ambiente adicionando Aspose.Imaging for Java usando o gerenciador de repositório
- Carregue o arquivo de imagem PNG de origem usando uma instância da classe Image
- Use uma instância da classe PngOptions para definir a taxa de compactação junto com outras propriedades
- Salve o arquivo PNG compactado no disco
Aderindo às etapas mencionadas acima, você pode gerenciar facilmente a compressão PNG em Java usando uma abordagem passo a passo em que configuramos o ambiente inicialmente incluindo os recursos necessários dentro do projeto. Em seguida, acessaremos a imagem PNG de origem a partir do disco usando uma instância da classe Image que é seguida por uma instância da classe PngOptions para configurar a taxa de compactação junto com outras propriedades relacionadas. Por fim, a imagem PNG compactada será salva no disco com base nas configurações do Pngoptions.
Código para compactar PNG usando Java
import com.aspose.imaging.ColorPaletteHelper; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.ImageOptionsBase; | |
import com.aspose.imaging.License; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.fileformats.png.PngColorType; | |
import com.aspose.imaging.imageoptions.PngOptions; | |
public class CompressPNG { | |
public static void main (String[] args) { | |
String path = "/Users/Documents/KnowledgeBase/TestData/"; | |
// Applying product license to Compress a PNG image in Java | |
License pngCompressionLicense = new License(); | |
pngCompressionLicense.setLicense(path + "Conholdate.Total.Product.Family.lic"); | |
String inputPngFile = path+"Sample.png"; | |
String outputPngFile = path+"compressed_image.png"; | |
Image image = Image.load(path + "sample.png"); | |
Image pngImage = Image.load(inputPngFile); | |
PngOptions options = new PngOptions(); | |
// Set the compression level | |
options.setCompressionLevel(9); | |
options.setProgressive(true); | |
//Set the colour type | |
options.setColorType(PngColorType.IndexedColor); | |
options.setPalette(ColorPaletteHelper.getCloseImagePalette((RasterImage)pngImage, 1 << 5)); | |
pngImage.save(outputPngFile,options); | |
} | |
} |
Este código de exemplo pode ser usado para comprimir arquivo PNG em Java usando chamadas de API muito simples. A classe Image é composta por várias funções de sobrecarga que podem ser usadas para carregar as imagens de um fluxo em conjunto com parâmetros LoadOptions adicionais para dar suporte a outros tipos de imagens. A classe PngOptions expõe os métodos para definir as propriedades como tipo de cor, taxa de compactação, opções de rasterização de vetor, etc., para citar alguns.
Neste tópico, aprendemos como obter a compactação PNG usando Java. Se você estiver interessado em aprender como converter um PNG em um ÍCONE, consulte o artigo em como converter PNG para ICON em Java.