Index: cap.c =================================================================== --- cap.c (revision 7382) +++ cap.c (revision 7383) @@ -72,6 +72,22 @@ return diff; } +static inline void pcb_shadow(image_t *dst, const image_t *src) +{ + int n; + pixel_t *d = dst->pixmap; + const pixel_t *s = src->pixmap; + for(n = 0; n < dst->sx * dst->sy; n++,d++,s++) { + if ((s->r != 255) && (s->g != 255) && (s->b != 255)) { + d->r = 200; + d->g = 240; + d->b = 240; + } + else + *d = pixel_white; + } +} + static inline void pcb_draw(image_t *img, pcb_t *p) { int n; @@ -165,7 +181,7 @@ fprintf(f,"stroke %d %d %d %d %d\n", p->str[n].x1, p->str[n].y1, p->str[n].x2, p->str[n].y2, p->str[n].th); fclose(f); - pcb_clear(img); + pcb_shadow(img, ref); pcb_draw(img, data); snprintf(s, sizeof(s), "/tmp/stroke_%04d_%02d.pnm", population_id, individual_id); pnm_save(img, s);