From 3101d7818d0019ef483d73b87d02b1e10ed466b8 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 26 Jan 2013 08:36:20 +0100 Subject: Image (png) to c-header file (struct) converter. tool. --- tools/img2c/img2c.cc | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tools/img2c/img2c.cc (limited to 'tools/img2c/img2c.cc') diff --git a/tools/img2c/img2c.cc b/tools/img2c/img2c.cc new file mode 100644 index 0000000..e24d2b3 --- /dev/null +++ b/tools/img2c/img2c.cc @@ -0,0 +1,49 @@ +#include + +#include + +#include +#include + +int main(int argc, char *argv[]) +{ + // QApplication app(argc, argv); + + + + if(argc < 3) { + printf("Missing parameter [inputfile] [imgname]\n"); + return 1; + } + + QString file = argv[1]; + QString name = argv[2]; + + QImage img; + if(!img.load(file)) { + printf("Could not open file %s\n", file.toStdString().c_str()); + return 1; + } + + printf("struct __img_%s {\n size_t width;\n size_t height;\n unsigned int pixels[%d];\n unsigned int order;\n}", name.toStdString().c_str(), img.width() * img.height()); + printf(" img_%s = {\n", name.toStdString().c_str()); + printf(" %d,\n", img.width()); + printf(" %d,\n", img.height()); + printf(" {\n"); + + for(int y = 0; y < img.height(); y++) { + for(int x = 0; x < img.width(); x++) { + printf(" 0x%08x", htonl(img.pixel(x, y))); + if(x != img.width() - 1 || y != img.height() - 1) { + printf(","); + } + printf("\n"); + } + } + printf(" },\n"); + printf(" 0x%08x", htonl(0x00010203)); + printf("};\n"); + + return 0; + // return app.exec(); +} -- cgit v1.2.3