public RGB mix(RGB rgb) {
		RGB mix = new RGB();
		if (R < 0 || rgb.R < 0)
			mix.R = (byte) (R + rgb.R + 1);
		else
			mix.R = (byte) Math.floor((R + rgb.R) / 2);

		if (G < 0 || rgb.G < 0)
			mix.G = (byte) (G + rgb.G + 1);
		else
			mix.G = (byte) Math.floor((G + rgb.G) / 2);

		if (B < 0 || rgb.B < 0)
			mix.B = (byte) (B + rgb.B + 1);
		else
			mix.B = (byte) Math.floor((B + rgb.B) / 2);

		return mix;
	}