コード例 #1
0
        /// <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());
        }
コード例 #2
0
        /// <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();
        }