/*
* =====================================================================================
*
* Filename: build-table.cpp
*
* Description:
*
* Version: 1.0
* Created: 03/04/2011 22:11:22
* Revision: none
* Compiler: gcc
*
* Author: John Ryland (jryland), jryland@xiaofrog.com
* Company: InvertedLogic
*
* =====================================================================================
*/
#include <QApplication>
#include <QPixmap>
#include <QImage>
#include <stdio.h>
void readImage(FILE *f, unsigned char *image)
{
unsigned int grid[1024];
unsigned int cols[512];
unsigned int rows[512];
unsigned int diag[1024];
unsigned int diag2[1024];
fread(grid, 4, 1024, f);
fread(cols, 4, 512, f);
fread(rows, 4, 512, f);
fread(diag, 4, 1024, f);
fread(diag2, 4, 1024, f);
for (int j = 0; j < 512; j++)
for (int i = 0; i < 512; i++)
image[512*j+i] = (grid[(i/16) + (j/16)*32] + diag[i+j] + diag[512-i+j] + rows[j] + cols[i]) / 5;
}
void dumpImage(int s, unsigned char *image, int depth)
{
QImage outputImage(s, s, QImage::Format_RGB888);
for (int y = 0; y < s; y++) {
for (int x = 0; x < s; x++) {
unsigned char p = image[y*s+x];
unsigned int p2 = p;
p2 = (p2 << 16) | (p2 << 8) | p2;
outputImage.setPixel(x, y, p2);
}
}
outputImage.save(QString("output%1.png").arg(depth));
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
printf("starting\n");
const int size = 512*512;
unsigned char *image = (unsigned char *)malloc(size);
printf("alloced mem\n");
memset(image, 0, size);
printf("zeroed mem\n");
FILE *f = fopen("blah.out", "r");
//readTree(f, &headNode, 0, 512, 512, true);
readImage(f, image);
fclose(f);
printf("read tree\n");
dumpImage(512, image, 0);
return 0;//app.exec();
}