private static void put2bitbwtile(
TiffRgbaImage img, int[] raster, int rasterOffset, int rasterShift,
int x, int y, int width, int height, byte[] buffer, int offset, int bufferShift)
{
int[][] BWmap = img.BWmap;
bufferShift /= 4;
while (height-- > 0)
{
int[] bw = null;
int _x;
for (_x = width; _x >= 4; _x -= 4)
{
bw = BWmap[buffer[offset]];
offset++;
for (int rc = 0; rc < 4; rc++)
{
raster[rasterOffset] = bw[rc];
rasterOffset++;
}
}
if (_x > 0)
{
bw = BWmap[buffer[offset]];
offset++;
if (_x <= 3 && _x > 0)
{
for (int i = 0; i < _x; i++)
{
raster[rasterOffset] = bw[i];
rasterOffset++;
}
}
}
rasterOffset += rasterShift;
offset += bufferShift;
}
}