/// <summary> /// Create anaglyph image. /// </summary> /// <param name="leftImage"></param> /// <param name="rightImage"></param> /// <returns>Anaglyph image.</returns> private Bitmap Anaglyph(Bitmap leftImage, Bitmap rightImage) { DevilVision.Drawing.Image <DevilVision.Drawing.Colors.Rgb> dvLeftImage = new DevilVision.Drawing.Image <DevilVision.Drawing.Colors.Rgb>(leftImage); DevilVision.Drawing.Image <DevilVision.Drawing.Colors.Rgb> dvRightImage = new DevilVision.Drawing.Image <DevilVision.Drawing.Colors.Rgb>(rightImage); byte[] leftImageBytes = dvLeftImage.Bytes; byte[] rightImageBytes = dvRightImage.Bytes; // Result array. //byte[] result = new byte[dvLeftImage.Bytes.Length]; for (int i = 0; i < dvLeftImage.Bytes.Length; i += 3) { // Red chanel. leftImageBytes[i] = rightImageBytes[i]; // Green chanel. //leftImageBytes[++i] = leftImageBytes[i]; // Blue chanel. //leftImageBytes[++i] = leftImageBytes[i]; } return(new DevilVision.Drawing.Image <DevilVision.Drawing.Colors.Rgb>(leftImage.Width, leftImage.Height, leftImageBytes).ToBitmap()); }
/// <summary> /// Create anaglyph image. /// </summary> /// <param name="leftImage"></param> /// <param name="rightImage"></param> /// <returns>Anaglyph image.</returns> private Bitmap Anaglyph(Bitmap leftImage, Bitmap rightImage) { DevilVision.Drawing.Image<DevilVision.Drawing.Colors.Rgb> dvLeftImage = new DevilVision.Drawing.Image<DevilVision.Drawing.Colors.Rgb>(leftImage); DevilVision.Drawing.Image<DevilVision.Drawing.Colors.Rgb> dvRightImage = new DevilVision.Drawing.Image<DevilVision.Drawing.Colors.Rgb>(rightImage); byte[] leftImageBytes = dvLeftImage.Bytes; byte[] rightImageBytes = dvRightImage.Bytes; // Result array. //byte[] result = new byte[dvLeftImage.Bytes.Length]; for (int i = 0; i < dvLeftImage.Bytes.Length; i += 3) { // Red chanel. leftImageBytes[i] = rightImageBytes[i]; // Green chanel. //leftImageBytes[++i] = leftImageBytes[i]; // Blue chanel. //leftImageBytes[++i] = leftImageBytes[i]; } return new DevilVision.Drawing.Image<DevilVision.Drawing.Colors.Rgb>(leftImage.Width, leftImage.Height, leftImageBytes).ToBitmap(); }