Det här är en professionell lösning för att optimera och komprimera JPG i C++. Använd C++ för att maximera JPG optimerings-/komprimeringshastighet. Prova det gratis online!
Gör stora JPG filer mindre utan kvalitetsförlust. Radera onödig och oanvänd data. Krympa storleken på en JPG fil i kod. C++ biblioteket ger utvecklare ett integrerat API för att optimera JPG innehåll.
C++ biblioteket är en fristående lösning och kräver ingen programvara från tredje part installerad.
Förlustfri komprimering och djup innehållsoptimering på ett enkelt sätt med 'Aspose.Words for C++'. Följande exempel visar hur man optimerar innehållet i en JPG fil i C++:
dotnet add package Aspose.Words.Cpp
Kopiera
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())
{
// Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
auto image =
System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());
// ...
// Komprimera bilden och ställ tillbaka den till formen.
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())
{
// Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream());
// ...
// Komprimera bilden och ställ tillbaka den till formen.
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())
{
// Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
auto image =
System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());
// ...
// Komprimera bilden och ställ tillbaka den till formen.
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);
Det finns tre alternativ för att installera Aspose.Words for C++ i din utvecklarmiljö. Välj en som liknar dina behov och följ steg-för-steg-instruktionerna:
Du kan använda detta C++ - bibliotek för att utveckla programvara på Microsoft Windows, Linux och macOS:
Om du utvecklar programvara för Linux eller macOS, kontrollera information om ytterligare bibliotekberoenden (fontconfig och mesa-glu open-source-paket) i produktdokumentation.
Du kan optimera filer i många andra filformat: