W tym temacie skupiono się na tym, jak skompresować PNG w Javie. Obejmuje wszystkie wymagane zasoby, klasy, metody i działający przykładowy kod do kompresji PNG przy użyciu Javy. Wygenerowana aplikacja może być używana w dowolnym środowisku zgodnym z Javą w systemie Windows, macOS lub Linux.
Kroki, aby skompresować PNG za pomocą Java
- Skonfiguruj środowisko, dodając Aspose.Imaging for Java za pomocą menedżera repozytoriów
- Załaduj źródłowy plik obrazu PNG, używając instancji klasy Image
- Użyj instancji klasy PngOptions, aby ustawić współczynnik kompresji wraz z innymi właściwościami
- Zapisz skompresowany plik PNG na dysku
Stosując się do wyżej wymienionych kroków, możesz łatwo zarządzać kompresją PNG w Javie, stosując podejście krok po kroku, w którym wstępnie konfigurujemy środowisko, włączając wymagane zasoby do projektu. Następnie uzyskamy dostęp do źródłowego obrazu PNG z dysku za pomocą instancji klasy Image, po której następuje użycie instancji klasy PngOptions w celu skonfigurowania współczynnika kompresji wraz z innymi powiązanymi właściwościami. Na koniec skompresowany obraz PNG zostanie zapisany na dysku w oparciu o ustawienia Pngoptions.
Kod do kompresji PNG przy użyciu 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); | |
} | |
} |
Ten przykładowy kod może być użyty do kompresji pliku PNG w Javie przy użyciu bardzo prostych wywołań API. Klasa Image składa się z wielu funkcji przeciążenia, których można użyć do załadowania obrazów ze strumienia w połączeniu z dodatkowymi parametrami LoadOptions w celu obsługi innych typów obrazów. Klasa PngOptions udostępnia metody ustawiania właściwości, takich jak typ koloru, stopień kompresji, opcje rasteryzacji wektorów itp., by wymienić tylko kilka.
W tym temacie dowiedzieliśmy się, jak uzyskać kompresję PNG przy użyciu języka Java. Jeśli chcesz dowiedzieć się więcej o konwertowaniu PNG na IKONĘ, zapoznaj się z artykułem na jak przekonwertować PNG na ICON w Javie.