Hoe EPS naar TIFF te converteren met C++

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++

  1. Installeer Aspose.Page for C++ van NuGet-pakketbeheertool
  2. Verwijzing naar Aspose::Page naamruimte toevoegen
  3. Specificeer de uitvoer ImageFormat en initialiseer een invoerstroom
  4. Invoer EPS-bestand laden met PsDocument-klasseobject
  5. 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++.

 Nederlands