33 |
|
|
34 |
|
int header = 1; /* do header */ |
35 |
|
|
36 |
< |
double exposure = 1.0; |
36 |
> |
COLOR exposure = WHTCOLOR; |
37 |
|
|
38 |
|
char *progname; |
39 |
|
|
156 |
|
checkhead(line) /* deal with line from header */ |
157 |
|
char *line; |
158 |
|
{ |
159 |
+ |
double d; |
160 |
+ |
COLOR ctmp; |
161 |
+ |
|
162 |
|
if (header) |
163 |
|
fputs(line, stdout); |
164 |
< |
if (isexpos(line)) |
165 |
< |
exposure *= exposval(line); |
164 |
> |
if (isexpos(line)) { |
165 |
> |
d = 1.0/exposval(line); |
166 |
> |
scalecolor(exposure, d); |
167 |
> |
} else if (iscolcor(line)) { |
168 |
> |
colcorval(ctmp, line); |
169 |
> |
colval(exposure,RED) /= colval(ctmp,RED); |
170 |
> |
colval(exposure,GRN) /= colval(ctmp,GRN); |
171 |
> |
colval(exposure,BLU) /= colval(ctmp,BLU); |
172 |
> |
} |
173 |
|
} |
174 |
|
|
175 |
|
|
200 |
|
else |
201 |
|
copycolor(lastc, scanln[x]); |
202 |
|
if (original) |
203 |
< |
scalecolor(scanln[x], 1.0/exposure); |
203 |
> |
multcolor(scanln[x], exposure); |
204 |
|
if (!dataonly) |
205 |
|
printf("%7d %7d ", x, y); |
206 |
|
if ((*putval)(scanln[x], stdout) < 0) { |