Ini adalah solusi profesional untuk mengoptimalkan dan mengompresi JPG di C++. Gunakan C++ untuk memaksimalkan JPG kecepatan pengoptimalan/kompresi. Cobalah secara online gratis!
Buat JPG file besar menjadi lebih kecil tanpa kehilangan kualitas. Hapus data yang tidak perlu dan tidak digunakan. Kecilkan ukuran JPG file dalam kode. C++ menyediakan pengembang dengan API terintegrasi untuk mengoptimalkan konten JPG.
C++ adalah solusi yang berdiri sendiri dan tidak memerlukan perangkat lunak pihak ketiga yang diinstal.
Kompresi lossless dan pengoptimalan konten mendalam menjadi mudah dengan 'Aspose.Words for C++'. Contoh berikut menunjukkan cara mengoptimalkan konten JPG file di C++:
dotnet add package Aspose.Words.Cpp
Salinan
using namespace Aspose::Words;
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
auto shape = builder->InsertImage(u"Input.jpg");
auto saveOptions = MakeObject<ImageSaveOptions>(SaveFormat::Jpeg);
saveOptions->set_JpegQuality(50);
shape->GetShapeRenderer()->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())
{
// Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar.
auto image =
System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());
// ...
// Kompres gambar dan atur kembali ke bentuk.
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())
{
// Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar.
auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream());
// ...
// Kompres gambar dan atur kembali ke bentuknya.
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())
{
// Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar.
auto image =
System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());
// ...
// Kompres gambar dan atur kembali ke bentuk.
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 saveOptions = MakeObject<ImageSaveOptions>(SaveFormat::Jpeg);
saveOptions->set_JpegQuality(50);
shape->GetShapeRenderer()->Save(u"Output.jpg", saveOptions);
Ada tiga opsi untuk menginstal Aspose.Words for C++ ke lingkungan pengembang Anda. Silakan pilih salah satu yang sesuai dengan kebutuhan Anda dan ikuti petunjuk langkah demi langkah:
Anda dapat menggunakan pustaka C++ ini untuk mengembangkan perangkat lunak pada Microsoft Windows, Linux, dan macOS:
Jika Anda mengembangkan perangkat lunak untuk Linux atau macOS, silakan periksa informasi tentang dependensi perpustakaan tambahan (paket sumber terbuka fontconfig dan mesa-glu glu) di Dokumentasi Produk.
Anda dapat mengoptimalkan file dalam banyak format file lainnya: