private static void put1bitcmaptile(
TiffRgbaImage img, int[] raster, int rasterOffset, int rasterShift,
int x, int y, int width, int height, byte[] buffer, int offset, int bufferShift)
{
int[][] PALmap = img.PALmap;
bufferShift /= 8;
while (height-- > 0)
{
int[] bw;
int bwPos = 0;
int _x;
for (_x = width; _x >= 8; _x -= 8)
{
bw = PALmap[buffer[offset++]];
bwPos = 0;
for (int i = 0; i < 8; i++)
raster[rasterOffset++] = bw[bwPos++];
}
if (_x > 0)
{
bw = PALmap[buffer[offset++]];
bwPos = 0;
if (_x <= 7 && _x > 0)
{
for (int i = 0; i < _x; i++)
raster[rasterOffset++] = bw[bwPos++];
}
}
rasterOffset += rasterShift;
offset += bufferShift;
}
}