|
|
|
@ -1,11 +1,11 @@ |
|
|
|
|
|
|
|
|
|
#include <iostream> |
|
|
|
|
#include <vector> |
|
|
|
|
#include "qrcodegen.hpp" |
|
|
|
|
|
|
|
|
|
#include "QR.hpp" |
|
|
|
|
#include "ConsoleRenderer.hpp" |
|
|
|
|
#include "PNGRenderer.hpp" |
|
|
|
|
#include "SVGRenderer.hpp" |
|
|
|
|
#include "qrcodegen.hpp" |
|
|
|
|
#include "renderers/ConsoleRenderer.hpp" |
|
|
|
|
#include "renderers/PNGRenderer.hpp" |
|
|
|
|
#include "renderers/SVGRenderer.hpp" |
|
|
|
|
|
|
|
|
|
namespace massivedynamic { |
|
|
|
|
|
|
|
|
@ -32,11 +32,11 @@ QR::QR(const std::string& data, std::string outputFile, size_t size, Type type, |
|
|
|
|
this->renderers.insert({Format::PNG, std::make_unique<PNGRenderer>(this->pixels, qr.getSize(), size)}); |
|
|
|
|
this->renderers.insert({Format::SVG, std::make_unique<SVGRenderer>(this->pixels, qr.getSize(), size)}); |
|
|
|
|
|
|
|
|
|
// this is inherently stupid, but "qrcodegen" does not give access to the
|
|
|
|
|
// `segments` vector
|
|
|
|
|
for (int y = 0; y < qr.getSize(); y++) { |
|
|
|
|
for (int x = 0; x < qr.getSize(); x++) { |
|
|
|
|
bool isFilled = qr.getModule(x, y); |
|
|
|
|
this->pixels.push_back(isFilled ? true : false); |
|
|
|
|
} |
|
|
|
|
for (int x = 0; x < qr.getSize(); x++) |
|
|
|
|
this->pixels.push_back(qr.getModule(x, y)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this->renderers.at(format)->render(this->outputFile); |
|
|
|
|