run.cpp 843 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "run.h"
  2. #include "Mandel.h"
  3. #include "Serialize.h"
  4. #include "ImageExport.h"
  5. #include <fstream>
  6. #include <iostream>
  7. std::string readFile(const std::string& path)
  8. {
  9. std::ifstream inFile(path.c_str());
  10. return std::string{ std::istreambuf_iterator<char>(inFile),
  11. std::istreambuf_iterator<char>() };
  12. }
  13. void renderImage(const std::string& xmlPath, const std::string& outPath)
  14. {
  15. mnd::MandelContext mndCtxt = mnd::initializeContext();
  16. std::string xml = readFile(xmlPath);
  17. alm::ImageView iv = alm::fromXml<alm::ImageView>(xml);
  18. alm::ImageExportInfo iei;
  19. iei.drawInfo = iv.view;
  20. iei.generator = &mndCtxt.getDefaultGenerator();
  21. iei.gradient = iv.gradient;
  22. iei.path = outPath;
  23. exportImage(iei, [] (float progress) {
  24. std::cout << progress << "% completed" << std::endl;
  25. });
  26. }