private static void put16bitbwtile(
TiffRgbaImage img, int[] raster, int rasterOffset, int rasterShift,
int x, int y, int width, int height, byte[] buffer, int offset, int bufferShift)
{
int samplesperpixel = img.samplesperpixel;
int[][] BWmap = img.BWmap;
while (height-- > 0)
{
short[] wp = Tiff.ByteArrayToShorts(buffer, offset, buffer.Length - offset);
int wpPos = 0;
for (x = width; x-- > 0; )
{
// use high order byte of 16bit value
raster[rasterOffset] = BWmap[(wp[wpPos] & 0xffff) >> 8][0];
rasterOffset++;
offset += 2 * samplesperpixel;
wpPos += samplesperpixel;
}
rasterOffset += rasterShift;
offset += bufferShift;
}
}