public void next(byte[] dest) { iter.next(incomingRow); if (isOpaque()) { for (int x = 0; x < iter.getWidth(); x++) { int r = (incomingRow[x] >> 16) & 0xff; int g = (incomingRow[x] >> 8) & 0xff; int b = (incomingRow[x] >> 0) & 0xff; int index = lut.getIndexMatch(r, g, b); dest[x] = (byte) (index); } } else { int t = icm.getTransparentPixel(); for (int x = 0; x < iter.getWidth(); x++) { int index; int a = (incomingRow[x] >> 24) & 0xff; if (a < 128) { index = t; } else { int r = (incomingRow[x] >> 16) & 0xff; int g = (incomingRow[x] >> 8) & 0xff; int b = (incomingRow[x] >> 0) & 0xff; index = lut.getIndexMatch(r, g, b); } dest[x] = (byte) (index); } } y++; }
public void skip() { iter.skip(); y++; }