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 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
    • ¥15 matlab数字图像处理频率域滤波
    • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
    • ¥15 ELGamal和paillier计算效率谁快?
    • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
    • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
    • ¥15 Arcgis相交分析无法绘制一个或多个图形
    • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
    • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
    • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)