In dit onderwerp onderzoeken we hoe u EPS converteert naar TIFF met C++. U zult zien hoe u het invoer-EPS-bestand laadt en converteert naar afbeelding in C++ met behulp van eenvoudige API-aanroepen.
Stappen om EPS naar TIFF te converteren met C++
- Installeer Aspose.Page for C++ van NuGet-pakketbeheertool
- Verwijzing naar Aspose::Page naamruimte toevoegen
- Specificeer de uitvoer ImageFormat en initialiseer een invoerstroom
- Invoer EPS-bestand laden met PsDocument-klasseobject
- Stel ImageSaveOptions-eigenschappen in en sla het uitvoer TIFF-bestand op
U kunt EPS naar TIFF exporteren met C++* door eenvoudige API-aanroepen met een paar regels code te gebruiken. U hoeft alleen het invoer-EPS-bestand te laden en verschillende eigenschappen in te stellen volgens uw vereisten, en vervolgens het bestand te converteren met PsDocument class met behulp van C++.
Code om EPS naar TIFF te converteren met 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++; | |
} | |
} | |
} | |
}; |
Eerder hebben we hoe metadata van Microsoft Project-bestanden te extraheren met C++ verkend. In dit onderwerp hebben we echter geïmplementeerd hoe u TIFF uit EPS kunt genereren met C++.