#include "CLI/App.hpp" #include "CLI/Formatter.hpp" #include "CLI/Config.hpp" #include #include int main(int argc,char* argv[]){ CLI::App app{"png2hex"}; std::string filename = ""; app.add_option("-f,--file", filename, "PNG image file")->required(); CLI11_PARSE(app,argc,argv); png::image image(filename); std::cout << std::hex << std::uppercase << std::setfill('0') << std::setw(6); for (png::uint_32 y = 0; y < image.get_height(); ++y){ for (png::uint_32 x = 0; x < image.get_width(); ++x){ unsigned int pxl=0; //On peut raisonnablement esperer que int puisse stocker 24bits png::rgba_pixel p=image[y][x]; int ps=sizeof(p.red)*8; pxl=p.red>>(ps-5); pxl=pxl<<6 | (p.green>>(ps-6)); pxl=pxl<<5 | (p.blue>>(ps-5)); pxl=pxl<<8 | (p.alpha>>(ps-8)); std::cout << std::setw(6) << pxl << '\n'; } } return 1; }