diff options
author | Robin Watts <robin.watts@artifex.com> | 2012-04-14 12:52:51 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2012-04-14 12:52:51 +0000 |
commit | fd34d1533bfef0ec2a12500ea8b9fe80249cb990 (patch) | |
tree | 99801926b058b757ff3febeb57693bec41397430 | |
parent | 365d6f549be4f8fd289adb06078d568ae37b108a (diff) |
bmpcmp: Flip psdcmyk images to be the right way up.
-rw-r--r-- | gs/toolbin/bmpcmp.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gs/toolbin/bmpcmp.c b/gs/toolbin/bmpcmp.c index 35c8c618e..4604a95f5 100644 --- a/gs/toolbin/bmpcmp.c +++ b/gs/toolbin/bmpcmp.c @@ -2,6 +2,10 @@ * bmpcmp.c: BMP Comparison - utility for use with htmldiff.pl */ +/* Compile from inside ghostpdl with: + * gcc -Igs/libpng -Igs/zlib -o bmpcmp -DHAVE_LIBPNG gs/toolbin/bmpcmp.c gs/libpng/png.c gs/libpng/pngerror.c gs/libpng/pnggccrd.c gs/libpng/pngget.c gs/libpng/pngmem.c gs/libpng/pngpread.c gs/libpng/pngread.c gs/libpng/pngrio.c gs/libpng/pngrtran.c gs/libpng/pngrutil.c gs/libpng/pngset.c gs/libpng/pngtrans.c gs/libpng/pngvcrd.c gs/libpng/pngwio.c gs/libpng/pngwrite.c gs/libpng/pngwtran.c gs/libpng/pngwutil.c gs/zlib/adler32.c gs/zlib/crc32.c gs/zlib/infback.c gs/zlib/inflate.c gs/zlib/uncompr.c gs/zlib/compress.c gs/zlib/deflate.c gs/zlib/gzio.c gs/zlib/inffast.c gs/zlib/inftrees.c gs/zlib/trees.c gs/zlib/zutil.c -lm + */ + #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -1167,7 +1171,7 @@ static void *psd_read(ImageReader *im, *span = (w * n + 3) & ~3; bmp = Malloc(*span * h); line = Malloc(w); - ptr = bmp; + ptr = bmp + *span * (h-1); for (z = 0; z < n; z++) { for (y = 0; y < h; y++) @@ -1178,10 +1182,10 @@ static void *psd_read(ImageReader *im, *ptr = 255 - *line++; ptr += n; } - ptr -= w*n - *span; + ptr -= w*n + *span; line -= w; } - ptr -= *span * h - 1; + ptr += *span * h + 1; } free(line); |