Toto téma se zaměřuje na to, jak Komprimovat PNG v Javě. Zahrnuje všechny požadované zdroje, třídy, metody a funkční ukázkový kód pro kompresi PNG pomocí Javy. Vygenerovanou aplikaci lze použít v jakémkoli prostředí kompatibilním s Java v rámci Windows, macOS nebo Linuxu.
Kroky ke kompresi PNG pomocí Java
- Nastavte prostředí přidáním Aspose.Imaging for Java pomocí správce úložiště
- Načtěte zdrojový soubor obrázku PNG pomocí instance třídy Image
- Použijte instanci třídy PngOptions k nastavení kompresního poměru spolu s dalšími vlastnostmi
- Uložte komprimovaný soubor PNG na disk
Dodržením výše uvedených kroků můžete snadno spravovat kompresi PNG v Javě pomocí přístupu krok za krokem, kdy nejprve nakonfigurujeme prostředí zahrnutím požadovaných zdrojů do projektu. Poté přistoupíme ke zdrojovému obrázku PNG z disku pomocí instance třídy Image, po které následuje použití instance třídy PngOptions ke konfiguraci kompresního poměru spolu s dalšími souvisejícími vlastnostmi. Nakonec se komprimovaný obrázek PNG uloží na disk na základě nastavení Pngoptions.
Kód pro kompresi PNG pomocí 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); | |
} | |
} |
Tento příklad kódu lze použít pro komprimaci souboru PNG v Javě pomocí velmi jednoduchých volání API. Třída Image obsahuje více funkcí přetížení, které lze použít k načtení obrázků z proudu ve spojení s dalšími parametry LoadOptions pro podporu jiných typů obrázků. Třída PngOptions odhaluje metody pro nastavení vlastností, jako je typ barvy, kompresní poměr, možnosti vektorového rastrování atd., abychom jmenovali alespoň některé.
V tomto tématu jsme se dozvěděli, jak dosáhnout komprese PNG pomocí Java. Pokud se chcete dozvědět o převodu PNG na ICON, přečtěte si článek na jak převést PNG na ICON v Javě.