이 주제에서는 C++를 사용하여 **EPS를 TIFF로 변환하는 방법을 살펴봅니다. 간단한 API 호출을 사용하여 입력 EPS 파일을 로드하고 C++에서 이미지로 변환하는 방법을 관찰합니다.
C++를 사용하여 EPS를 TIFF로 변환하는 단계
- NuGet 패키지 관리자 도구에서 Aspose.Page for C++ 설치
- Aspose::Page 네임스페이스에 대한 참조 추가
- 출력 ImageFormat 지정 및 입력 스트림 초기화
- PsDocument 클래스 개체를 사용하여 입력 EPS 파일 로드
- ImageSaveOptions 속성 설정 및 출력 TIFF 파일 저장
몇 줄의 코드로 간단한 API 호출을 사용하여 *C++*를 사용하여 EPS를 TIFF로 내보낼 수 있습니다. 입력 EPS 파일을 로드하고 요구 사항에 따라 다른 속성을 설정한 다음 C++를 사용하여 PsDocument class로 파일을 변환하기만 하면 됩니다.
C++를 사용하여 EPS를 TIFF로 변환하는 코드
#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++; | |
} | |
} | |
} | |
}; |
이전에 C++를 사용하여 Microsoft Project 파일 메타데이터를 추출하는 방법을(를) 탐색했습니다. 그러나 이 항목에서는 C++*를 사용하여 EPS에서 TIFF를 *생성하는 방법을 구현했습니다.