コード例 #1
0
        public override byte[] GetColorImagePixels()
        {
            var tempColor = new byte[KinectSettings.COLOR_PIXEL_COUNT * 4];

            lock (rgbByteBuffer)
            {
                Array.Copy(rgbByteBuffer, tempColor, tempColor.Length);
            }
            ColorReadyEvent.Reset();
            Task.Run(() => CopyNextColor());
            return(tempColor);
        }
コード例 #2
0
        private void CopyNextColor()
        {
            var frame = _xef.LoadColorFrame(nextColorFrameNum);

            if (nextColorFrameNum < _xef.NumOfColorFrames - 1)
            {
                nextColorFrameNum++;
            }
            else
            {
                nextColorFrameNum = 0;
            }

            lock (rgbByteBuffer)
            {
                Array.Copy(frame, rgbByteBuffer, frame.Length);
            }
            ColorReadyEvent.Set();
        }