Recadrez et redimensionnez des EPS
Solution API native C++ pour gérer la taille des images EPS.
La transformation de votre image EPS vient de devenir plus facile ! Avec Aspose.Page pour C++, vous pouvez recadrer ou modifier la taille des fichiers EPS selon vos spécifications exactes en quelques lignes de code. Vous voulez l'agrandir ? Pas de problème. Vous en avez besoin de plus petit ? Nous avons ce qu'il vous faut. Notre API pour C++ vous permet de mettre à l'échelle votre image précisément, en veillant à ce qu'elle s'adapte parfaitement à votre vision. Mais pourquoi voudriez-vous recadrer ou redimensionner une image EPS ?
- Si vous concevez une mise en page pour un document imprimé ou numérique, vous devrez peut-être redimensionner l’image EPS pour qu’elle s’adapte à des dimensions spécifiques.
- En réduisant la taille de l’image, vous pouvez réduire la taille du fichier, ce qui facilite son partage, son téléchargement ou son impression. Les fichiers d’images plus petits se chargent également plus rapidement sur les sites Web et dans les documents numériques, ce qui améliore l’expérience utilisateur.
- Le recadrage peut aider à éliminer les parties gênantes ou non pertinentes de l’image, en attirant l’attention sur les éléments clés, et il peut également modifier le rapport hauteur/largeur de l’image pour mieux répondre à vos besoins de conception. Ainsi, un recadrage soigné peut améliorer la composition globale et l’attrait visuel de l’image.
- Le recadrage et le redimensionnement peuvent aider à optimiser l’image pour une utilisation sur le Web, en veillant à ce qu’elle se charge rapidement et s’affiche bien sur différentes tailles d’écran.
Aspose.Page vous offre la fonctionnalité pour gérer facilement les bordures des fichiers EPS. Avec cette API, vous pouvez mettre à l’échelle ou recadrer des images à l’aide de C#. Pour en savoir plus sur la façon de traiter les fichiers EPS , suivez la documentation. Pour voir la version en direct de la fonctionnalité, essayez les applications multiplateformes EPS Crop et EPS Resize .
Pour utiliser la fonctionnalité, vous devez d'abord obtenir la solution :
Ouvrez le gestionnaire de packages NuGet, recherchez Aspose.Page et installez-le. Vous pouvez également utiliser la commande suivante à partir de la console du gestionnaire de packages.
Package Manager Console Command
PM> Install-Package Aspose.Page
Étapes pour modifier la taille d'une image EPS.
L’exemple ci-dessous montre le processus de redimensionnement de .eps avec les unités choisies - points. L’ordre est :
- Initialisez l’objet PsDocument avec un flux d’entrée contenant un fichier EPS.
- Définissez la taille existante de l’image à l’aide de la méthode statique ExtractEpsSize() .
- Créez un flux de sortie pour le fichier EPS résultant.
- Redimensionnez l’objet PsDocument avec une nouvelle taille en points avec la méthode statique ResizeEps() .
- Enregistrez le fichier EPS redimensionné.
Redimensionner EPS
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithEPS();
//Create an input stream for EPS file
{
System::SharedPtr<System::IO::Stream> inputEpsStream = System::MakeObject<System::IO::FileStream>(dataDir + u"input.eps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ inputEpsStream});
// ------------------------------------------
try
{
//Initialize PsDocument object with input stream
System::SharedPtr<PsDocument> doc = System::MakeObject<PsDocument>(inputEpsStream);
//Get size of EPS image
System::Drawing::Size oldSize = doc->ExtractEpsSize();
//Create an output stream for resized EPS
{
System::SharedPtr<System::IO::Stream> outputEpsStream = System::MakeObject<System::IO::FileStream>(dataDir + u"output/" + u"output_resize_points.eps", System::IO::FileMode::Create, System::IO::FileAccess::Write);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ outputEpsStream});
// ------------------------------------------
try
{
//Increase EPS size in 2 times and save to the output stream
doc->ResizeEps(outputEpsStream, System::Drawing::SizeF(static_cast<float>(oldSize.get_Width() * 2), static_cast<float>(oldSize.get_Height() * 2)), Aspose::Page::Units::Points);
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
}
catch(...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}
}
L’exemple ci-dessous montre le processus de recadrage au lieu de redimensionner .eps avec les unités choisies - points. L’ordre est :
- Initialisez l’objet PsDocument avec un flux d’entrée contenant un fichier EPS.
- Définissez le cadre de délimitation (bounding box) existant de l’image à l’aide de la méthode statique ExtractEpsBoundingBox() .
- Créez un flux de sortie pour le fichier EPS résultant.
- Recadrez l’objet PsDocument avec une nouvelle boîte de délimitation avec la méthode statique CropEps() .
- Enregistrez le fichier EPS recadré.
Recadrer EPS
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithEPS();
//Create an input stream for EPS file
{
System::SharedPtr<System::IO::Stream> inputEpsStream = System::MakeObject<System::IO::FileStream>(dataDir + u"input.eps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ inputEpsStream});
// ------------------------------------------
try
{
//Initialize PsDocument object with input stream
System::SharedPtr<PsDocument> doc = System::MakeObject<PsDocument>(inputEpsStream);
//Get initial bounding box of EPS image
System::ArrayPtr<int32_t> initialBoundingBox = doc->ExtractEpsBoundingBox();
//Create an output stream for resized EPS
{
System::SharedPtr<System::IO::Stream> outputEpsStream = System::MakeObject<System::IO::FileStream>(dataDir + u"output/" + u"output_crop.eps", System::IO::FileMode::Create, System::IO::FileAccess::Write);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ outputEpsStream});
// ------------------------------------------
try
{
//Create new bounding box
//Bounding box is represented by 4 numbers: x0, y0, x, y, where x0 - left margin, y0 - top margin, x - (x0 + width), y - (y0 + height)
System::ArrayPtr<float> newBoundingBox = System::MakeArray<float>({260, 300, 480, 432});
//Crop EPS image and save to the output stream
//Croping of image is changing of its bounding box so that new values of bounding box will be within initial bounding box, that is
//initialBoundingBox[0] <= newBoundingBox[0] <= initialBoundingBox[2]
//initialBoundingBox[1] <= newBoundingBox[1] <= initialBoundingBox[3]
//initialBoundingBox[0] <= newBoundingBox[2] <= initialBoundingBox[2]
//initialBoundingBox[1] <= newBoundingBox[3] <= initialBoundingBox[3]
doc->CropEps(outputEpsStream, newBoundingBox);
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
}
catch(...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}
}
EPS Qu'est-ce que le format de fichier EPS
EPS (Encapsulated PostScript) est un format basé sur PostScript qui décrit une page unique. Il convient aux graphiques vectoriels et aux combinaisons vector‑raster. Une fois importé, le fichier n’est plus modifiable ; il est donc recommandé de le convertir en un format éditable tel que SVG ou PDF.