|
|
1.1 root 1: /* generate test image for calibrating Matrix and 691 film */
2: #include <fio.h>
3:
4: #define t(i) (char)(i)
5: #define RED 0
6: #define GREEN 1
7: #define BLUE 2
8: char pict[512][512][3];
9:
10: main()
11: {
12: char *picstop, *q;
13: int i, j, k;
14:
15: /* clear pict */
16: q = &pict[0][0][0];
17: picstop = q + sizeof(pict);
18: while(q<picstop) *q++ = 0;
19:
20: i=0;j=0;k=0; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
21: i=1;j=0;k=63; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
22: i=2;j=0;k=80; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
23: i=3;j=0;k=120; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
24: i=0;j=1;k=150; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
25: i=1;j=1;k=180; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
26: i=2;j=1;k=215; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
27: i=3;j=1;k=235; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
28: i=0;j=2;k=255; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
29: i=1;j=2; fill(&pict[56+100*j][56+100*i][0],t(255),t(0),t(0));
30: i=2;j=2; fill(&pict[56+100*j][56+100*i][0],t(0),t(255),t(0));
31: i=3;j=2; fill(&pict[56+100*j][56+100*i][0],t(0),t(0),t(255));
32: i=0;j=3;k=255; fill(&pict[56+100*j][56+100*i][0],t(k),t(k),t(k));
33: i=1;j=3; fill(&pict[56+100*j][56+100*i][0],t(255),t(0),t(255));
34: i=2;j=3; fill(&pict[56+100*j][56+100*i][0],t(255),t(255),t(0));
35: i=3;j=3; fill(&pict[56+100*j][56+100*i][0],t(0),t(255),t(255));
36:
37: Fprint(1,"TYPE=dump\n");
38: Fprint(1,"WINDOW=0 0 512 512\n");
39: Fprint(1,"NCHAN=3\n");
40: Fprint(1,"CHAN=rgb\n");
41: Fprint(1,"\n");
42: Fflush(1);
43: write(1,pict,sizeof(pict));
44: exit(0);
45: }
46:
47: fill(q,r,g,b)
48: char *q, r, g, b;
49: {
50: int i, j;
51: for(i=0;i<100;i++){
52: for(j=0;j<100;j++){
53: *q++ = r;
54: *q++ = g;
55: *q++ = b;
56: }
57: q += 3*(512-100);
58: }
59: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.