Код для сжатия JPG на C++

Высокопроизводительная C++ библиотека для оптимизации содержимого и размера JPG с сохранением исходного качества и исходных данных.

Это профессиональное решение для оптимизации и сжатия JPG на C++. Используйте C++, чтобы максимизировать JPG скорость оптимизации/сжатия. Попробуйте онлайн бесплатно!

Посмотреть фрагмент кода

Сжать JPG файл на C++

Уменьшайте размер больших JPG файлов без потери качества. Удалите ненужные и неиспользуемые данные. Уменьшите размер JPG файла в коде. C++ библиотека предоставляет разработчикам интегрированный API для оптимизации содержимого JPG файлов.

Уменьшить размер JPG файлов на C++

C++ библиотека является автономным решением и не требует установки стороннего ПО.

Сжатие без потерь и глубокая оптимизация контента стали проще благодаря 'Aspose.Words for C++'. В следующем примере показано, как оптимизировать содержимое JPG файла на C++:

Пример кода на C++ для сжатия JPG файлов
Загрузите файл, который хотите оптимизировать/сжать
Выполнить код
Выберите целевой формат из списка
50%
using namespace Aspose::Words;

auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);

auto shape = builder->InsertImage(u"Input.jpg");

//  Обновите настройки страницы, чтобы обрезать документ по размеру изображения.
auto pageSetup = builder->get_PageSetup();
pageSetup->set_PageWidth(shape->get_Width());
pageSetup->set_PageHeight(shape->get_Height());
pageSetup->set_TopMargin(0);
pageSetup->set_LeftMargin(0);
pageSetup->set_BottomMargin(0);
pageSetup->set_RightMargin(0);

auto saveOptions = MakeObject<ImageSaveOptions>(SaveFormat::Jpg);
saveOptions->set_JpegQuality(50);

doc->Save(u"Output.jpg", saveOptions);
using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.jpg"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // Разработчик должен выбрать библиотеку для сжатия изображений. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Сжать изображение и вернуть его к форме. shape->get_ImageData()->SetImage("yourCompressedImage"); } } auto saveOptions = MakeObject<PdfSaveOptions>(); saveOptions->set_CacheBackgroundGraphics(true); doc->Save(u"Output.jpg", saveOptions); using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.jpg"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // Разработчик должен выбрать библиотеку для сжатия изображений. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Сжать изображение и вернуть его к форме. shape->get_ImageData()->SetImage("yourCompressedImage"); } } doc->Save(u"Output.jpg"); using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.jpg"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // Разработчик должен выбрать библиотеку для сжатия изображений. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Сжать изображение и вернуть его к форме. shape->get_ImageData()->SetImage("yourCompressedImage"); } } auto saveOptions = MakeObject<OoxmlSaveOptions>(); saveOptions->set_CompressionLevel(CompressionLevel::Maximum); doc->Save(u"Output.jpg", saveOptions); using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto shape = builder->InsertImage(u"Input.jpg"); // Обновите настройки страницы, чтобы обрезать документ по размеру изображения. auto pageSetup = builder->get_PageSetup(); pageSetup->set_PageWidth(shape->get_Width()); pageSetup->set_PageHeight(shape->get_Height()); pageSetup->set_TopMargin(0); pageSetup->set_LeftMargin(0); pageSetup->set_BottomMargin(0); pageSetup->set_RightMargin(0); auto saveOptions = MakeObject<ImageSaveOptions>(SaveFormat::Jpg); saveOptions->set_JpegQuality(50); doc->Save(u"Output.jpg", saveOptions);
Выполнить код

Как сжать JPG C++

  1. Установите Aspose.Words for C++.
  2. Добавьте ссылку на библиотеку (импортируйте библиотеку) в свой C++ проект.
  3. Откройте исходный JPG файл на C++.
  4. Сжать JPG без потери качества.
  5. Вызовите метод Document.Cleanup(). Итоговый код может варьироваться в зависимости от формата выходного файла.
  6. Получите сжатый результат в виде JPG файла.

C++ библиотека для оптимизации и сжатия JPG файлов

Есть три варианта установки Aspose.Words for C++ в среду разработчика. Пожалуйста, выберите тот, который соответствует вашим потребностям, и следуйте пошаговым инструкциям:

Системные Требования

Вы можете использовать эту библиотеку C++ для разработки программного обеспечения в Microsoft Windows, Linux и macOS:

  • Для Linux требуются GCC >= 6.3.0 и Clang >= 3.9.1
  • Xcode >= 12.5.1, для macOS требуются Clang и libc++

Если вы разрабатываете программное обеспечение для Linux или macOS, проверьте информацию о зависимостях дополнительных библиотек (fontconfig и пакеты с открытым исходным кодом mesa-glu) в документации по продукту.

Оптимизация других поддерживаемых форматов файлов

Вы можете оптимизировать файлы во многих других форматах файлов:

5%

Подпишитесь на обновления продукта Aspose

Получайте ежемесячные информационные бюллетени и предложения, доставляемые прямо на ваш почтовый ящик.