In questo argomento esploreremo come convertire EPS in TIFF utilizzando C++. Osserverai come caricare il file EPS di input e convertirlo in immagine in C++ usando semplici chiamate API.
Passaggi per convertire EPS in TIFF usando C++
- Installa Aspose.Page for C++ da NuGet Package Manager Tool
- Aggiungi riferimento allo spazio dei nomi Aspose::Page
- Specificare l’output ImageFormat e inizializzare un flusso di input
- Carica il file EPS di input utilizzando l’oggetto della classe PsDocument
- Imposta le proprietà di ImageSaveOptions e salva il file TIFF di output
Puoi esportare EPS in TIFF usando C++ usando semplici chiamate API con poche righe di codice. Devi semplicemente caricare il file EPS di input e impostare proprietà diverse in base alle tue esigenze, quindi convertire il file con PsDocument class utilizzando C++.
Codice per convertire EPS in TIFF usando C++
#pragma once | |
#include <stdio.h> | |
#include <tchar.h> | |
#include <cstdint> | |
#include <Aspose.Page.Cpp/eps/src_eps/PsDocument.h> | |
#include <Aspose.Page.Cpp/eps/src_eps/PsConverterException.h> | |
#include <Aspose.Page.Cpp/eps/src_eps/Device/ImageSaveOptions.h> | |
#include <Aspose.Page.Cpp/eps/src_eps/Device/ImageDevice.h> | |
#include <Aspose.Page.Cpp/eps/src_eps/Device/PdfDevice.h> | |
#include <Aspose.Page.Cpp/eps/src_eps/Device/PdfSaveOptions.h> | |
#include <Aspose.Page.Cpp/License.h> | |
#include "system/enum.h" | |
#include "system/object.h" | |
#include "system/scope_guard.h" | |
#include "system/special_casts.h" | |
#include "system/type_info.h" | |
#include "system/details/dispose_guard.h" | |
#include "system/io/directory.h" | |
#include "system/io/directory_info.h" | |
#include "system/io/file.h" | |
#include "system/io/file_mode.h" | |
#include "system/io/memory_stream.h" | |
#include "system/io/stream.h" | |
#include "system/io/stream_reader.h" | |
#include "system/io/seekorigin.h" | |
#include "system/reflection/assembly.h" | |
#include "system/text/unicode_encoding.h" | |
#include "drawing/rectangle.h" | |
#include "drawing/bitmap.h" | |
#include "drawing/graphics.h" | |
#include <system/object.h> | |
#include <system/array.h> | |
#include <system/string.h> | |
#include <system/int32.h> | |
#include <system/shared_ptr.h> | |
#include <system/object_ext.h> | |
#include <system/exceptions.h> | |
#include <system/environment.h> | |
#include <system/diagnostics/trace.h> | |
#include <system/console.h> | |
using namespace Aspose::Page; | |
using namespace Aspose::Page::EPS; | |
using namespace Aspose::Page::EPS::Device; | |
using namespace System; | |
class EpsToTiffConverter { | |
public: | |
static void ConvertEPStoTIFF() | |
{ | |
// Set the license for Aspose.Page for CPP to Convert EPS File | |
SharedPtr<License> EPStoTIFFlicense = System::MakeObject<License>(); | |
EPStoTIFFlicense->SetLicense(u"Aspose.Total.NET.lic"); | |
// Specify the output TIFF image format | |
System::SharedPtr<System::Drawing::Imaging::ImageFormat> imageFormat = System::Drawing::Imaging::ImageFormat::get_Tiff(); | |
// Initialize PostScript input stream | |
System::SharedPtr<System::IO::FileStream> psStream = System::MakeObject<System::IO::FileStream> | |
(u"Input.eps", System::IO::FileMode::Open, System::IO::FileAccess::Read); | |
System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(psStream); | |
// Set this flag if you want to convert EPS file ignoring minor errors | |
bool suppressErrors = true; | |
//Initialize ImageSaveOptions object with required parameters. | |
System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(suppressErrors); | |
System::SharedPtr<ImageDevice> device = System::MakeObject<ImageDevice>(imageFormat); | |
{ | |
auto __finally_guard_0 = ::System::MakeScopeGuard([&psStream]() | |
{ | |
psStream->Close(); | |
}); | |
try | |
{ | |
document->Save(device, options); | |
} | |
catch (...) | |
{ | |
throw; | |
} | |
} | |
System::ArrayPtr<System::ArrayPtr<uint8_t>> imagesBytes = device->get_ImagesBytes(); | |
int32_t i = 0; | |
{ | |
for (System::ArrayPtr<uint8_t> imageBytes : imagesBytes) | |
{ | |
System::String imagePath = System::IO::Path::GetFullPath(System::String(u"out_image") + System::Convert::ToString(i) | |
+ u"." + System::ObjectExt::ToString(imageFormat).ToLower()); | |
{ | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(imagePath, | |
System::IO::FileMode::Create, System::IO::FileAccess::Write); | |
System::Details::DisposeGuard<1> __dispose_guard_1({ fs }); | |
// ------------------------------------------ | |
try | |
{ | |
fs->Write(imageBytes, 0, imageBytes->get_Length()); | |
} | |
catch (...) | |
{ | |
__dispose_guard_1.SetCurrentException(std::current_exception()); | |
} | |
} | |
i++; | |
} | |
} | |
} | |
}; |
In precedenza, abbiamo esplorato come estrarre i metadati dei file di Microsoft Project utilizzando C++. Tuttavia, in questo argomento abbiamo implementato come generare TIFF da EPS usando C++.