b37814204f
* get image returns optional<Mat> instead of unique_ptr<Mat> * introduce complexity * rename image load function * add example for a basic reader for binary image files * fix windows build? * add a status bar underneath the menu bar * use status bar in custom_0 example app * clang formats * packing w/ pragma push * add "Save As" functions to image views * resize over reserve * rm local override uri * add simple thread pool * rename to simple_thread_pool * get rid of useless renderlib * document version inc * extract hardcoded values to in-header * clang format patch * clone registered image in custom_0 * document binary-file header * minor fixes * clang format * rm unused render cmake
35 lines
699 B
C++
35 lines
699 B
C++
#include "PixelariumPng.hpp"
|
|
|
|
#include <filesystem>
|
|
#include <memory>
|
|
#include <opencv2/imgcodecs.hpp>
|
|
#include <string>
|
|
|
|
pixelarium::imaging::PixelariumPng::PixelariumPng(const std::string& uri)
|
|
{
|
|
if (!std::filesystem::exists(uri))
|
|
{
|
|
throw std::runtime_error("Render file not found.");
|
|
}
|
|
|
|
this->is_empty_ = false;
|
|
this->uri_ = std::filesystem::path(uri);
|
|
}
|
|
|
|
std::optional<cv::Mat> pixelarium::imaging::PixelariumPng::TryGetImage()
|
|
{
|
|
try
|
|
{
|
|
auto img = cv::Mat(cv::imread(this->uri_.string()));
|
|
|
|
this->is_empty_ = false;
|
|
|
|
return img;
|
|
}
|
|
catch (const std::exception& e)
|
|
{
|
|
this->is_empty_ = true;
|
|
return {};
|
|
}
|
|
}
|