Как захватить изображение скелета каждые 10 минут с помощью Kinect?C # - PullRequest
0 голосов
/ 19 января 2019

Я хочу снимать изображение каждые 10 минут с помощью kinect. но я не знаю как Я хочу сохранить изображение в папке mypicture. (Или в любой папке). Я пытаюсь редактировать из файла примера SDK kinect (основной файл тела и базовое отображение координат) вот мой код

private void startSaveTimer()
    {
        Timer saveTimer = new Timer(600000);
        saveTimer.Elapsed += saveTimer_Elapsed;
        saveTimer.Start();
    }

    private void saveTimer_Elapsed(object sender, ElapsedEventArgs e)
    {



        // Create a render target to which we'll render our composite image
        RenderTargetBitmap renderBitmap = new RenderTargetBitmap((int)CompositeImage.ActualWidth, (int)CompositeImage.ActualHeight, 96.0, 96.0, PixelFormats.Pbgra32);

        DrawingVisual dv = new DrawingVisual();
        using (DrawingContext dc = dv.RenderOpen())
        {
            VisualBrush brush = new VisualBrush(CompositeImage);
            dc.DrawRectangle(brush, null, new Rect(new Point(), new Size(CompositeImage.ActualWidth, CompositeImage.ActualHeight)));
        }

        renderBitmap.Render(dv);

        BitmapEncoder encoder = new PngBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(renderBitmap));

        string time = System.DateTime.Now.ToString("hh'-'mm'-'ss", CultureInfo.CurrentUICulture.DateTimeFormat);

        string myPhotos = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);

        string path = Path.Combine(myPhotos, "KinectScreenshot-bodybasic-" + time + ".png");

        // Write the new file to disk
        try
        {
            using (FileStream fs = new FileStream(path, FileMode.Create))
            {
                encoder.Save(fs);
            }
            if (this.StatusText == null)
            {
                this.StatusText = string.Format(Properties.Resources.SavedScreenshotStatusTextFormat, path);
            }
        }
        catch (IOException)
        {
            this.StatusText = string.Format(Properties.Resources.FailedScreenshotStatusTextFormat, path);
        }
    }

пожалуйста, помогите мне! Спасибо

...