Сжатие изображений — популярный способ уменьшения размера изображений. Это позволяет минимизировать пространство и время, необходимые для хранения и передачи изображений соответственно. Доступны различные методы сжатия, которые сжимают изображения таким образом, что качество изображений не ухудшается. В соответствии с этим, этот пост предлагает вам несколько простых способов программного сжатия изображений PNG, JPEG и TIFF с помощью C#.
- C# API сжатия изображений — скачать бесплатно
- Сжатие изображений PNG в C#
- Сжатие изображений JPEG в C#
- Применение сжатия к изображениям TIFF в C#
C# API сжатия изображений — скачать бесплатно
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"))
{
// Перебрать возможный диапазон CompressionLevel
for (int i = 0; i <= 9; i++)
{
// Создайте экземпляр PngOptions для каждого результирующего PNG, установите CompressionLevel и сохраните результат на диске.
PngOptions options = new PngOptions();
options.CompressionLevel = i;
image.Save(i + "_out.png", options);
}
}
Сжатие изображений JPEG в C#
Для работы с изображениями JPEG Aspose.Imaging for .NET предоставляет класс JpegOptions, который предлагает следующие типы сжатия для изображений JPEG.
- Базовый уровень
- прогрессивный
- Без потерь
- JPEG
Ниже приведены шаги для сжатия изображений 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 для .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, сжатие, фотометрический режим и палитру оттенков серого.
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 в PPT или PNG в PPT, вы можете создавать презентации PowerPoint из простых изображений.