Стиснення зображень є популярним способом зменшення розміру зображень. Це дозволяє мінімізувати простір і час, необхідні для зберігання та передачі зображень відповідно. Доступні різні методи стиснення, які стискають зображення таким чином, щоб якість зображень не погіршувалася. Відповідно до цього, у цій публікації ви знайдете кілька простих способів програмного стиснення зображень PNG, JPEG і TIFF за допомогою C#.
- API стиснення зображень C# — безкоштовне завантаження
- Стиснення зображень PNG у C#
- Стиснення зображень JPEG у C#
- Застосування стиснення до зображень TIFF у C#
API стиснення зображень C# — безкоштовне завантаження
Aspose.Imaging for .NET — це потужний API для обробки зображень, який дає змогу керувати популярними форматами зображень у ваших програмах .NET. Крім того, API дозволяє застосовувати різні типи стиснення до зображень, включаючи PNG, JPEG і TIFF. Щоб використовувати API, ви можете завантажити його DLL або встановити його за допомогою NuGet.
Install-Package Aspose.Imaging
Стиснення зображень PNG у C#
Для зображень у форматі PNG можна встановити рівень стиснення від 0 до 9, де 9 — максимальне стиснення, а 0 — режим збереження. Нижче наведено кроки для стиснення зображення PNG за допомогою Aspose.Imaging for .NET.
- Завантажте зображення за допомогою класу Image.
- Створіть об’єкт класу PngOptions.
- Встановіть рівень стиснення за допомогою властивості PngOptions.CompressionLevel.
- Збережіть зображення за допомогою методу Image.Save(String, PngOptions).
У наступному прикладі коду показано, як стискати зображення PNG за допомогою C#.
// Шлях до каталогу документів.
string dataDir = RunExamples.GetDataDir_PNG();
// Завантажити зображення з файлу (або потоку)
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
// Перейти до можливого діапазону рівня стиснення
for (int i = 0; i <= 9; i++)
{
// Створіть екземпляр PngOptions для кожного результуючого PNG, установіть рівень стиснення та збережіть результат на диску
PngOptions options = new PngOptions();
options.CompressionLevel = i;
image.Save(i + "_out.png", options);
}
}
Стиснення зображень JPEG у C#
Для обробки зображень JPEG Aspose.Imaging for .NET надає клас JpegOptions, який пропонує наступні типи стиснення для зображень JPEG.
- Базовий рівень
- Прогресивний
- Без втрат
- JpegLs
Нижче наведено кроки для стиснення зображень JPEG за допомогою одного з вищезгаданих типів стиснення.
- Завантажте зображення JPEG за допомогою класу Image.
- Створіть об’єкт класу JpegOptions.
- Встановіть колірний режим за допомогою властивості JpegOptions.ColorType.
- Встановіть тип стиснення за допомогою властивості JpegOptions.CompressionType.
- Збережіть зображення за допомогою методу Image.Save(String, JpegOptions).
У наступному прикладі коду показано, як стиснути зображення JPEG за допомогою C#.
// Шлях до каталогу документів.
string dataDir = RunExamples.GetDataDir_JPEG();
using (var original = Image.Load(dataDir+"ColorGif.gif"))
{
var jpegOptions = new JpegOptions()
{
ColorType = JpegCompressionColorMode.Grayscale,
CompressionType = JpegCompressionMode.Progressive,
};
original.Save("D:/temp/result.jpg", jpegOptions);
}
Застосування стиснення до зображень TIFF у C#
Aspose.Imaging for .NET надає широкий діапазон типів стиснення для зображень TIFF, включаючи LZW, Packbits, CCIT Fax 3 & 4 тощо. Ви можете вибрати відповідний тип відповідно до ваших вимог. Нижче наведено кроки для стиснення зображення TIFF.
- Завантажте зображення TIFF за допомогою класу Image.
- Створіть об’єкт TiffOptions та ініціалізуйте його значенням переліку TiffExpectedFormat.Default.
- Установіть режим BitsPerSample, Compression, Photometric і Palette для зображення Tiff.
- Збережіть зображення за допомогою методу Image.Save(String, TiffOptions).
У наступному прикладі коду показано, як стискати зображення TIFF за допомогою C#.
// Шлях до каталогу документів.
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();
// Завантажте зображення через шлях до файлу або потік
Image image = Image.Load(dataDir + "SampleTiff.tiff");
// Створіть екземпляр TiffOptions для отриманого зображення
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
// Установіть BitsPerSample, Compression, Photometric mode та палітру відтінків сірого
outputSettings.BitsPerSample = new ushort[] { 4 };
outputSettings.Compression = TiffCompressions.Lzw;
outputSettings.Photometric = TiffPhotometrics.Palette;
outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
image.Save(dataDir + "SampleTiff_out.tiff", outputSettings);
Висновок
У цій публікації ви дізналися, як стискати зображення PNG, JPEG і TIFF за допомогою C#. Для зображень JPEG і TIFF також перераховано різні підтримувані методи стиснення. Ви можете дізнатися більше про API обробки зображень .NET за допомогою документації.
Дивись також
Інформація: використовуючи конвертер Aspose JPG to PPT або PNG to PPT, ви можете створювати презентації PowerPoint із простих зображень.