55 lines
1.0 KiB
C
55 lines
1.0 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
#include <math.h>
|
|
|
|
// change size to make image bigger/smaller
|
|
#define IMGSIZE 0x3000 // 0x6000
|
|
|
|
#define image(x,y) pixels[((unsigned int)y*size+x)]
|
|
|
|
// generates an image
|
|
int main(int argc, char *argv[]) {
|
|
if (argc != 2) {
|
|
printf("usage: %s [create_file]", argv[0]);
|
|
return 0;
|
|
}
|
|
|
|
unsigned long long int size;
|
|
unsigned long long int x, y;
|
|
|
|
FILE *out;
|
|
srand(time(NULL));
|
|
|
|
out = fopen(argv[1], "wb");
|
|
if (out == NULL ) {
|
|
perror(argv[1]);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
|
|
size = IMGSIZE;
|
|
printf("%lld\n", size);
|
|
|
|
fwrite(&size, sizeof(size), 1, out);
|
|
fflush(out);
|
|
|
|
int *pixels = (int*) malloc(size * size * sizeof(int));
|
|
if (pixels == NULL ) {
|
|
perror("malloc pixels");
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
|
|
for (y = 0; y < size; y++) {
|
|
for (x = 0; x < size; x++) {
|
|
image(x,y)= (rand()&0xFFFF);
|
|
}
|
|
}
|
|
fwrite(pixels, size * size * sizeof(int), 1, out);
|
|
|
|
fflush(out);
|
|
fclose(out);
|
|
free(pixels);
|
|
|
|
return EXIT_SUCCESS;
|
|
}
|