public static void drawVerticalAlphaLine(int x, int y, int length, int color, int alpha) {
		if (x < startX || x >= endX) {
			return;
		}
		if (y < startY) {
			length -= startY - y;
			y = startY;
		}
		if (y + length > endY) {
			length = endY - y;
		}
		int alphaValue = 256 - alpha;
		int red = (color >> 16 & 0xff) * alpha;
		int green = (color >> 8 & 0xff) * alpha;
		int blue = (color & 0xff) * alpha;
		int pixel = x + y * width;
		for (int j3 = 0; j3 < length; j3++) {
			int r = (pixels[pixel] >> 16 & 0xff) * alphaValue;
			int g = (pixels[pixel] >> 8 & 0xff) * alphaValue;
			int b = (pixels[pixel] & 0xff) * alphaValue;
			int pixelColor = ((red + r >> 8) << 16) + ((green + g >> 8) << 8) + (blue + b >> 8);
			pixels[pixel] = pixelColor;
			pixel += width;
		}

	}