static final void buildPreciseGradientChannel(int from, int to, int steps,
			int bandWidth, int bandHeight, boolean vertical, byte[] bitmapData,
			int dp, int bytesPerLine) {
		int val = from << 16;
		final int inc = ((to << 16) - val) / steps + 1;
		if (vertical) {
			for (int dy = 0; dy < bandHeight; ++dy, dp += bytesPerLine) {
				bitmapData[dp] = (byte) (val >>> 16);
				val += inc;
			}
		} else {
			for (int dx = 0; dx < bandWidth; ++dx, dp += 4) {
				bitmapData[dp] = (byte) (val >>> 16);
				val += inc;
			}
		}
	}