maowade 2016-03-24 02:21
浏览 2007

C#调用摄像头拍的照片是黑的

private void Page_Loaded(object sender, RoutedEventArgs e) {

        this.videoCaptureElement = new VideoCaptureElement();
        this.videoCaptureElement.BeginInit();
        this.videoCaptureElement.Width = 568;
        this.videoCaptureElement.Height = 364;

                    //videoCaptureElement position
                    Canvas.SetTop(videoCaptureElement, 200);
        Canvas.SetLeft(videoCaptureElement, 200);

        string[] inputNames = MultimediaUtil.VideoInputNames;
        this.videoCaptureElement.VideoCaptureSource = inputNames[0];
        this.videoCaptureElement.EndInit();
        this.videoCaptureElement.Play();
        this.CameraRenderLayer.Children.Add(this.videoCaptureElement);

        //button event

        TakePic.MouseLeftButtonDown += new MouseButtonEventHandler(takePhoto);

    }
    private void pagePrevious(object sender, RoutedEventArgs e) {

        this.NavigationService.Content = new BirthdayPage();
    }
    private void takePhoto(object sender, RoutedEventArgs e) {




        RenderTargetBitmap bmp = new RenderTargetBitmap((int)this.videoCaptureElement.ActualWidth, (int)this.videoCaptureElement.ActualHeight, 96, 96, PixelFormats.Pbgra32);
        bmp.Render(this.videoCaptureElement);
        BitmapEncoder encoder = new JpegBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(bmp));
        string now = DateTime.Now.Year + "" + DateTime.Now.Month + "" + DateTime.Now.Day + "" + DateTime.Now.Hour + "" + DateTime.Now.Minute + "" + DateTime.Now.Second;
        string filename = "D:\\" + UserInfoSingleton.sharedInstance().UserName + "pic.jpg";
        FileStream fstream = new FileStream(filename, FileMode.Create);
        encoder.Save(fstream);
        fstream.Close();
        videoCaptureElement.Stop();

    }

如果我把Canvas.SetTop(videoCaptureElement, 200); Canvas.SetLeft(videoCaptureElement, 200);这两句注释掉,就能正常拍出照片,但是一旦调整了videoCaptureElement的位置拍出的照片就是黑色的

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题