#include "PixelariumImageFactory.hpp" #include #include #include "impl/PixelariumCzi.hpp" #include "impl/PixelariumJpg.hpp" #include "impl/PixelariumPng.hpp" /*static*/ std::unique_ptr pixelarium::imaging::PixelariumImageFactory::CreateImage(const std::string& uri, const Log& log) { const auto res{std::filesystem::path(uri)}; const auto target_type{ExtensionToType(res.extension().string())}; switch (target_type) { case ImageFileType::kUnknown: return {}; break; case ImageFileType::kAbstract: return {}; break; case ImageFileType::kPng: return std::make_unique(uri); break; case ImageFileType::kJpg: return std::make_unique(uri); break; case ImageFileType::kCzi: return std::make_unique(uri, log); break; } }