Ця тема присвячена тому, як стиснути PNG у Java. Він містить усі необхідні ресурси, класи, методи та робочий приклад коду для стиснення PNG за допомогою Java. Створену програму можна використовувати в будь-якому середовищі, сумісному з Java, у Windows, macOS або Linux.
Кроки для стиснення PNG за допомогою Java
- Налаштуйте середовище, додавши Aspose.Imaging for Java за допомогою менеджера сховища
- Завантажте вихідний файл зображення PNG за допомогою екземпляра класу Image
- Використовуйте екземпляр класу PngOptions, щоб установити ступінь стиснення разом з іншими властивостями
- Збережіть стислий файл PNG на диску
Дотримуючись вищезазначених кроків, ви можете легко керувати стисненням PNG у Java за допомогою покрокового підходу, згідно з яким ми спочатку налаштовуємо середовище, включаючи необхідні ресурси в проект. Потім ми отримаємо доступ до вихідного PNG-зображення з диска за допомогою екземпляра класу Image, за яким слідує екземпляр класу PngOptions для налаштування коефіцієнта стиснення разом з іншими пов’язаними властивостями. Нарешті, стиснене зображення PNG буде збережено на диску відповідно до налаштувань Pngoptions.
Код для стиснення PNG за допомогою 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); | |
} | |
} |
Цей приклад коду можна використовувати для стиснення файлу PNG у Java за допомогою дуже простих викликів API. Клас Image складається з кількох функцій перевантаження, які можна використовувати для завантаження зображень із потоку в поєднанні з додатковими параметрами LoadOptions для підтримки інших типів зображень. Клас PngOptions надає методи для встановлення таких властивостей, як тип кольору, коефіцієнт стиснення, параметри векторної растеризації тощо.
У цій темі ми дізналися, як досягти стиснення PNG за допомогою Java. Якщо вам цікаво дізнатися про перетворення PNG на ICON, зверніться до статті як конвертувати PNG у ICON у Java.