498 |
|
} |
499 |
|
|
500 |
|
|
501 |
< |
/* write an common-exponent spectral color scanline (NCSAMP) */ |
501 |
> |
/* write an common-exponent spectral color scanline */ |
502 |
|
int |
503 |
< |
fwritescolrs(uby8 *sscanline, int len, FILE *fp) |
503 |
> |
fwritescolrs(uby8 *sscanline, int nc, int len, FILE *fp) |
504 |
|
{ |
505 |
< |
if (fwrite(sscanline, LSCOLR, len, fp) != len) |
505 |
> |
if (fwrite(sscanline, nc+1, len, fp) != len) |
506 |
|
return(-1); |
507 |
|
return(0); |
508 |
|
} |
584 |
|
|
585 |
|
/* write an spectral color scanline (NCSAMP) */ |
586 |
|
int |
587 |
< |
fwritesscan(COLORV *sscanline, int len, FILE *fp) |
587 |
> |
fwritesscan(COLORV *sscanline, int nc, int len, FILE *fp) |
588 |
|
{ |
589 |
< |
uby8 *tscn = (uby8 *)tempbuffer(LSCOLR*len); |
589 |
> |
uby8 *tscn = (uby8 *)tempbuffer((nc+1)*len); |
590 |
|
int i; |
591 |
|
|
592 |
|
if (tscn == NULL) |
593 |
|
return(-1); |
594 |
|
for (i = 0; i < len; i++) { |
595 |
< |
scolor2scolr(tscn+i*LSCOLR, sscanline, NCSAMP); |
596 |
< |
sscanline += NCSAMP; |
595 |
> |
scolor2scolr(tscn+i*(nc+1), sscanline, nc); |
596 |
> |
sscanline += nc; |
597 |
|
} |
598 |
< |
return(fwritescolrs(tscn, len, fp)); |
598 |
> |
return(fwritescolrs(tscn, nc, len, fp)); |
599 |
|
} |
600 |
|
|
601 |
|
|