Ez a témakör arra összpontosít, hogyan lehet tömöríteni egy PNG fájlt Java-ban. Tartalmazza az összes szükséges erőforrást, osztályt, metódust és egy működő példakódot a PNG tömörítéséhez Java használatával. A létrehozott alkalmazás bármely Java-kompatibilis környezetben használható Windows, macOS vagy Linux rendszeren belül.
A PNG tömörítésének lépései Java használatával
- Állítsa be a környezetet a Aspose.Imaging for Java hozzáadásával a lerakatkezelő segítségével
- Töltse be a forrás PNG képfájlt a Image osztály egy példányával
- A tömörítési arány és egyéb tulajdonságok beállításához használja a PngOptions osztály egy példányát
- Mentse el a tömörített PNG-fájlt a lemezre
A fent említett lépések betartásával könnyedén kezelheti a PNG-tömörítést Java-ban egy lépésről-lépésre történő megközelítéssel, amelynek során kezdetben úgy konfiguráljuk a környezetet, hogy belefoglaljuk a szükséges erőforrásokat a projektbe. Ezután elérjük a forrás PNG-képet a lemezről az Image osztály egy példányával, amelyet a PngOptions osztály egy példánya követ a tömörítési arány és más kapcsolódó tulajdonságok konfigurálásához. Végül a tömörített PNG-kép mentésre kerül a lemezre a Pngoptions beállítások alapján.
Kód a PNG tömörítéséhez Java használatával
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); | |
} | |
} |
Ez a példakód használható PNG-fájl Java nyelven történő tömörítésére nagyon egyszerű API-hívások segítségével. Az Image osztály több túlterhelési funkciót tartalmaz, amelyek a képek adatfolyamból történő betöltésére használhatók, további LoadOptions paraméterekkel együtt, hogy más típusú képeket támogassanak. A PngOptions osztály bemutatja azokat a metódusokat, amelyekkel olyan tulajdonságokat állíthatunk be, mint a színtípus, a tömörítési arány, a vektorraszterezési beállítások stb., hogy csak néhányat említsünk.
Ebben a témakörben megtanultuk, hogyan lehet PNG-tömörítést elérni Java használatával. Ha szeretné tudni, hogyan lehet PNG-t ICON-má konvertálni, olvassa el a hogyan lehet a PNG-t ICON-ra konvertálni Java-ban című cikket.