Washer supplemented. This means that it is rounded to the nearest multiple of 4. (assuming 8 bits are gray or 8 bits per pixel):
Width | stride -------------- 1 | 4 2 | 4 3 | 4 4 | 4 5 | 8 6 | 8 7 | 8 8 | 8 9 | 12 10 | 12 11 | 12 12 | 12
and etc.
In C #, you can implement this as follows:
static int PaddedRowWidth(int bitsPerPixel, int w, int padToNBytes) { if (padToNBytes == 0) throw new ArgumentOutOfRangeException("padToNBytes", "pad value must be greater than 0."); int padBits = 8* padToNBytes; return ((w * bitsPerPixel + (padBits-1)) / padBits) * padToNBytes; } static int RowStride(int bitsPerPixel, int width) { return PaddedRowWidth(bitsPerPixel, width, 4); }
plinth
source share