diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2020-01-15 03:51:59 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2020-01-15 03:51:59 +0000 |
commit | d566a34acc0a433487000bb3c1afae798858e43f (patch) | |
tree | 0dd87a07fd1da8a6ef3ebd300734e58108150d89 /editor | |
parent | 26092f5e2264b80706f4a980a9e79a8289254103 (diff) | |
download | netpbm-mirror-d566a34acc0a433487000bb3c1afae798858e43f.tar.gz netpbm-mirror-d566a34acc0a433487000bb3c1afae798858e43f.tar.xz netpbm-mirror-d566a34acc0a433487000bb3c1afae798858e43f.zip |
Relase 10.89.01
git-svn-id: http://svn.code.sf.net/p/netpbm/code/advanced@3735 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'editor')
-rw-r--r-- | editor/pamdice.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/editor/pamdice.c b/editor/pamdice.c index 2c53a110..f4b05a8d 100644 --- a/editor/pamdice.c +++ b/editor/pamdice.c @@ -150,14 +150,15 @@ computeSliceGeometry(struct cmdlineInfo const cmdline, *nHorizSliceP = 1 + divup(inpam.height - cmdline.height, cmdline.height - cmdline.voverlap); *sliceHeightP = cmdline.height; + + *bottomSliceHeightP = + inpam.height - (*nHorizSliceP-1) * (cmdline.height - cmdline.voverlap); } else { *nHorizSliceP = 1; *sliceHeightP = inpam.height; + *bottomSliceHeightP = inpam.height; } - *bottomSliceHeightP = - inpam.height - (*nHorizSliceP-1) * (cmdline.height - cmdline.voverlap); - if (cmdline.sliceVertically) { if (cmdline.width >= inpam.width) *nVertSliceP = 1; @@ -165,14 +166,14 @@ computeSliceGeometry(struct cmdlineInfo const cmdline, *nVertSliceP = 1 + divup(inpam.width - cmdline.width, cmdline.width - cmdline.hoverlap); *sliceWidthP = cmdline.width; + *rightSliceWidthP = + inpam.width - (*nVertSliceP-1) * (cmdline.width - cmdline.hoverlap); } else { *nVertSliceP = 1; *sliceWidthP = inpam.width; + *rightSliceWidthP = inpam.width; } - *rightSliceWidthP = - inpam.width - (*nVertSliceP-1) * (cmdline.width - cmdline.hoverlap); - if (verbose) { pm_message("Creating %u images, %u across by %u down; " "each %u w x %u h", @@ -468,7 +469,10 @@ main(int argc, char ** argv) { for (horizSlice = 0; horizSlice < nHorizSlice; ++horizSlice) { unsigned int const thisSliceFirstRow = - horizSlice * (sliceHeight - cmdline.voverlap); + horizSlice > 0 ? horizSlice * (sliceHeight - cmdline.voverlap) : 0; + /* Note that 'cmdline.voverlap' is not defined when there is only + one horizontal slice + */ unsigned int const thisSliceHeight = horizSlice < nHorizSlice-1 ? sliceHeight : bottomSliceHeight; |