-
2006.04.07 09:56 "Re: [Tiff] LibTiffDelphi problem with WriteEncodedStrip Newbee", by Joris Van Damme
-
2006.04.11 16:43 "AW: [Tiff] LibTiffDelphi problem with WriteEncodedStrip Newbee", by Thorsten Hagelstein
- 2006.04.11 22:07 "Re: [Tiff] LibTiffDelphi problem with WriteEncodedStrip Newbee", by Joris Van Damme
-
2006.04.11 16:43 "AW: [Tiff] LibTiffDelphi problem with WriteEncodedStrip Newbee", by Thorsten Hagelstein
2006.04.13 19:53 "RE: [Tiff] LibTiffDelphi problem with WriteEncodedStrip Newbee", by
> -----Original Message-----
> From: tiff-bounces@lists.maptools.org
> [mailto:tiff-bounces@lists.maptools.org]On Behalf Of Thorsten
> Hagelstein
Thank you for your code, but it didn't work, and I can't figure out, what wents wrong. I tried to understand your code, but there are still some questions... Maybe you can help me
RowSize:=((Bitmap.Width+7) div 8);
Why did you add 7 here? To get a multiple of 8?
Yes, this (IMO) is a classic "deep" programming technique (the actual language is unimportant) -- when dividing by integers, fractional parts are generally dropped (instead of being rounded like fractionals). In order to promote any fractional part to the next integer, you add one-less-than-the-divisor before dividing.
This trick is typically used to make sure that a target buffer has *at least* enough space, instead of 1 unit too few. Extra "unused" bits are usually set to zero (to keep things "cleaner").
Sorry if I'm over-explaining something that's already clear, but I prefer to avoid the possibility of holes being filled by guesses.