diff options
| -rw-r--r-- | sys/src/cmd/jpg/writeppm.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/src/cmd/jpg/writeppm.c b/sys/src/cmd/jpg/writeppm.c index 9c96f538e..6064dff30 100644 --- a/sys/src/cmd/jpg/writeppm.c +++ b/sys/src/cmd/jpg/writeppm.c @@ -90,14 +90,17 @@ writedata(Biobuf *fd, Image *image, Memimage *memimage, int rflag) pix = (data[i]>>depth*((xmask-x)&xmask))&pmask; if(((x+1)&xmask) == 0) i++; - if(chan == GREY1) - pix = pix == 1? 0: 1; - if(rflag){ - if(chan == GREY1) + if(chan == GREY1){ + pix ^= 1; + if(rflag){ Bputbit(fd, pix); - else + continue; + } + } else { + if(rflag){ Bputc(fd, pix); - continue; + continue; + } } col += Bprint(fd, "%d", pix); if(col >= MAXLINE-(2+1)){ |
