bitdump.c 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* Dump a bitmap to be able to include it in code */
  2. #define MXMODULE_BITPIXEL
  3. #define MXMODULE_LOADTGA
  4. #include "degfx/degfx.c"
  5. int main(int argc, char *argv[])
  6. {
  7. int i;
  8. for (i = 1; i < argc; i++) {
  9. int x, y;
  10. MX_BITMAP *bitmap = mx_bitmap_tga(argv[i]);
  11. if (bitmap) {
  12. int c = 0;
  13. printf("static MX_PIXEL %sdata[] = {\n", argv[i]);
  14. for (y = 0; y <= mx_h(bitmap); y++) {
  15. printf(" ");
  16. for (x = 0; x <= mx_w(bitmap); x++) {
  17. const MX_PIXEL p = mx_bitmap_getpixel(bitmap, x, y);
  18. const unsigned char r = MXR(p);
  19. const unsigned char g = MXG(p);
  20. const unsigned char b = MXB(p);
  21. const unsigned char t = MXT(p);
  22. printf("MXRGBT(%0x,%0x,%0x,%0x), ", r, g, b, t);
  23. if (c++ > 10)
  24. printf("\n");
  25. }
  26. printf("\n");
  27. }
  28. printf("\t0 };\n\n");
  29. printf
  30. ("static MX_BITMAP %s = MXBITMAP_DECLARE(%sdata, %i, %i);\n\n",
  31. argv[i], argv[i], mx_w(bitmap) + 1, mx_h(bitmap) + 1);
  32. mx_delete(bitmap);
  33. }
  34. }
  35. return 0;
  36. }