public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     float one = 1;
     int now = game.platform.TimeMillisecondsFromStart();
     for (int i = 0; i < maxplayers; i++)
     {
         if (game.entities[i] == null)
         {
             continue;
         }
         if (game.entities[i].playerDrawInfo == null)
         {
             continue;
         }
         if (game.entities[i].networkPosition == null)
         {
             continue;
         }
         int kKey = i;
         Entity p = game.entities[i];
         if ((one * (now - p.networkPosition.LastUpdateMilliseconds) / 1000) > 2)
         {
             p.playerDrawInfo = null;
             p.networkPosition.PositionLoaded = false;
         }
     }
 }
Ejemplo n.º 2
0
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     if (d_RailMapUtil == null)
     {
         this.d_RailMapUtil = new RailMapUtil();
         this.d_RailMapUtil.game = game;
     }
     RailOnNewFrame(game, args.GetDt());
 }
Ejemplo n.º 3
0
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     for (int i = 0; i < game.entitiesCount; i++)
     {
         Entity entity = game.entities[i];
         if (entity == null) { continue; }
         if (entity.grenade == null) { continue; }
         UpdateGrenade(game, i, args.GetDt());
     }
 }
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     if (game.guistate == GuiState.MapLoading)
     {
         return;
     }
     if (game.FollowId() == null)
     {
         UpdateBlockDamageToPlayer(game, args.GetDt());
     }
 }
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     Packet_Item activeitem = game.d_Inventory.RightHand[game.ActiveMaterial];
     int activeblock = 0;
     if (activeitem != null) { activeblock = activeitem.BlockId; }
     if (activeblock != PreviousActiveMaterialBlock)
     {
         game.SendPacketClient(ClientPackets.ActiveMaterialSlot(game.ActiveMaterial));
     }
     PreviousActiveMaterialBlock = activeblock;
 }
Ejemplo n.º 6
0
    public override void OnNewFrame(Game game, NewFrameEventArgs args)
    {
        if (game.spawned && ((game.platform.TimeMillisecondsFromStart() - game.lastpositionsentMilliseconds) > 100))
        {
            game.lastpositionsentMilliseconds = game.platform.TimeMillisecondsFromStart();

            game.SendPacketClient(ClientPackets.PositionAndOrientation(game, game.LocalPlayerId,
                game.player.position.x, game.player.position.y, game.player.position.z,
                game.player.position.rotx, game.player.position.roty, game.player.position.rotz,
                game.localstance));
        }
    }
Ejemplo n.º 7
0
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     if (game.FollowId() == null)
     {
         if (game.soundnow.value)
         {
             UpdateWalkSound(game, -1);
         }
         if (game.isplayeronground && game.controls.movedx != 0 || game.controls.movedy != 0)
         {
             UpdateWalkSound(game, args.GetDt());
         }
     }
 }
Ejemplo n.º 8
0
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     if (game.reloadstartMilliseconds != 0
         && (game.one * (game.platform.TimeMillisecondsFromStart() - game.reloadstartMilliseconds) / 1000)
         > game.DeserializeFloat(game.blocktypes[game.reloadblock].ReloadDelayFloat))
     {
         {
             int loaded = game.TotalAmmo[game.reloadblock];
             loaded = MathCi.MinInt(game.blocktypes[game.reloadblock].AmmoMagazine, loaded);
             game.LoadedAmmo[game.reloadblock] = loaded;
             game.reloadstartMilliseconds = 0;
             game.reloadblock = -1;
         }
     }
 }
 public override void OnNewFrame(Game game, NewFrameEventArgs args)
 {
     if (game.guistate == GuiState.MapLoading)
     {
         return;
     }
     if (!started)
     {
         started = true;
         if (!game.issingleplayer)
         {
             skinserverResponse = new HttpResponseCi();
             game.platform.WebClientDownloadDataAsync("http://manicdigger.sourceforge.net/skinserver.txt", skinserverResponse);
         }
     }
     LoadPlayerTextures(game);
 }
Ejemplo n.º 10
0
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     if (game.guistate == GuiState.MapLoading)
     {
         return;
     }
     if (game.controls.freemove)
     {
         if (fallSoundPlaying)
         {
             SetFallSoundActive(game, false);
         }
         return;
     }
     if (game.FollowId() == null)
     {
         UpdateFallDamageToPlayer(game, args.GetDt());
     }
 }
Ejemplo n.º 11
0
    public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
    {
        game.pushX = 0;
        game.pushY = 0;
        game.pushZ = 0;

        float LocalPlayerPositionX = game.player.position.x;
        float LocalPlayerPositionY = game.player.position.y;
        float LocalPlayerPositionZ = game.player.position.z;
        for (int i = 0; i < game.entitiesCount; i++)
        {
            Entity entity = game.entities[i];
            if (entity == null) { continue; }
            if (entity.push == null) { continue; }
            //Prevent players that aren't displayed from pushing
            if (entity.networkPosition != null && !entity.networkPosition.PositionLoaded) { continue; }
            float kposX = game.DeserializeFloat(entity.push.XFloat);
            float kposY = game.DeserializeFloat(entity.push.ZFloat);
            float kposZ = game.DeserializeFloat(entity.push.YFloat);
            if (entity.push.IsRelativeToPlayerPosition != 0)
            {
                kposX += LocalPlayerPositionX;
                kposY += LocalPlayerPositionY;
                kposZ += LocalPlayerPositionZ;
            }
            float dist = game.Dist(kposX, kposY, kposZ, LocalPlayerPositionX, LocalPlayerPositionY, LocalPlayerPositionZ);
            if (dist < game.DeserializeFloat(entity.push.RangeFloat))
            {
                float diffX = LocalPlayerPositionX - kposX;
                float diffY = LocalPlayerPositionY - kposY;
                float diffZ = LocalPlayerPositionZ - kposZ;
                game.pushX += diffX;
                game.pushY += diffY;
                game.pushZ += diffZ;
            }
        }
    }
Ejemplo n.º 12
0
 private void myCaptureDevice_NewFrame(object sender, NewFrameEventArgs eventArgs)//帧处理程序
 {
     bitmapBuffer = (Bitmap)eventArgs.Frame.Clone();
 }
Ejemplo n.º 13
0
 private void FinalFrame_NewFrame(Object sender, NewFrameEventArgs eventArgs)
 {
     pb_ScanQR.Image = (Image)eventArgs.Frame.Clone();
 }
Ejemplo n.º 14
0
        private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();

            pictureBox1.Image = bitmap;
        }
Ejemplo n.º 15
0
        public void Video_NuevoFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap Imagen = (Bitmap)eventArgs.Frame.Clone();

            pictureBox1.Image = Imagen;
        }
Ejemplo n.º 16
0
    internal void GotoDraw2d(float dt)
    {
        SetAmbientLight(Game.ColorFromArgb(255, 255, 255, 255));
        Draw2d(dt);

        NewFrameEventArgs args_ = new NewFrameEventArgs();
        args_.SetDt(dt);
        for (int i = 0; i < clientmodsCount; i++)
        {
            clientmods[i].OnNewFrame(this, args_);
        }

        mouseleftclick = mouserightclick = false;
        mouseleftdeclick = mouserightdeclick = false;
        if ((!issingleplayer)
            || (issingleplayer && platform.SinglePlayerServerLoaded())
            || (!platform.SinglePlayerServerAvailable()))
        {
            if (!startedconnecting)
            {
                startedconnecting = true;
                Connect__();
            }
        }
    }
Ejemplo n.º 17
0
Archivo: camera.cs Proyecto: zzh56/iSpy
        private void VideoNewFrame(object sender, NewFrameEventArgs e)
        {
            var nf = NewFrame;
            var f  = e.Frame;

            if (nf == null || f == null)
            {
                return;
            }


            if (_lastframeEvent > DateTime.MinValue)
            {
                CalculateFramerates();
            }

            _lastframeEvent = Helper.Now;

            if (_updateResources)
            {
                _updateResources = false;
                DrawFont.Dispose();
                DrawFont = null;
                ForeBrush.Dispose();
                ForeBrush = null;
                BackBrush.Dispose();
                BackBrush = null;
                SetMaskImage();
                RotateFlipType rft;
                if (Enum.TryParse(CW.Camobject.rotateMode, out rft))
                {
                    RotateFlipType = rft;
                }
                else
                {
                    RotateFlipType = RotateFlipType.RotateNoneFlipNone;
                }
            }


            Bitmap bmOrig  = null;
            bool   bMotion = false;

            lock (_sync)
            {
                try
                {
                    bmOrig = ResizeBmOrig(f);

                    if (RotateFlipType != RotateFlipType.RotateNoneFlipNone)
                    {
                        bmOrig.RotateFlip(RotateFlipType);
                    }

                    _width  = bmOrig.Width;
                    _height = bmOrig.Height;

                    if (ZPoint == Point.Empty)
                    {
                        ZPoint = new Point(bmOrig.Width / 2, bmOrig.Height / 2);
                    }

                    if (CW.NeedMotionZones)
                    {
                        CW.NeedMotionZones = !SetMotionZones(CW.Camobject.detector.motionzones);
                    }

                    if (Mask != null)
                    {
                        ApplyMask(bmOrig);
                    }

                    if (CW.Camobject.alerts.active && Plugin != null && Alarm != null)
                    {
                        bmOrig = RunPlugin(bmOrig);
                    }

                    var bmd = bmOrig.LockBits(new Rectangle(0, 0, bmOrig.Width, bmOrig.Height), ImageLockMode.ReadWrite, bmOrig.PixelFormat);

                    //this converts the image into a windows displayable image so do it regardless
                    using (var lfu = new UnmanagedImage(bmd))
                    {
                        if (_motionDetector != null)
                        {
                            bMotion = ApplyMotionDetector(lfu);
                        }
                        else
                        {
                            MotionDetected = false;
                        }

                        if (CW.Camobject.settings.FishEyeCorrect)
                        {
                            _feCorrect.Correct(lfu, CW.Camobject.settings.FishEyeFocalLengthPX,
                                               CW.Camobject.settings.FishEyeLimit, CW.Camobject.settings.FishEyeScale, ZPoint.X,
                                               ZPoint.Y);
                        }

                        if (ZFactor > 1)
                        {
                            var f1 = new ResizeNearestNeighbor(lfu.Width, lfu.Height);
                            var f2 = new Crop(ViewRectangle);
                            try
                            {
                                using (var imgTemp = f2.Apply(lfu))
                                {
                                    f1.Apply(imgTemp, lfu);
                                }
                            }
                            catch (Exception ex)
                            {
                                ErrorHandler?.Invoke(ex.Message);
                            }
                        }
                    }
                    bmOrig.UnlockBits(bmd);
                    PiP(bmOrig);
                    AddTimestamp(bmOrig);
                }
                catch (UnsupportedImageFormatException ex)
                {
                    CW.VideoSourceErrorState   = true;
                    CW.VideoSourceErrorMessage = ex.Message;

                    bmOrig?.Dispose();

                    return;
                }
                catch (Exception ex)
                {
                    bmOrig?.Dispose();

                    ErrorHandler?.Invoke(ex.Message);

                    return;
                }


                if (MotionDetector != null && !CW.Calibrating && MotionDetector.MotionProcessingAlgorithm is BlobCountingObjectsProcessing && !CW.PTZNavigate && CW.Camobject.settings.ptzautotrack)
                {
                    try
                    {
                        ProcessAutoTracking();
                    }
                    catch (Exception ex)
                    {
                        ErrorHandler?.Invoke(ex.Message);
                    }
                }
            }


            nf.Invoke(this, new NewFrameEventArgs(bmOrig));

            if (bMotion)
            {
                TriggerDetect(this);
            }
        }
Ejemplo n.º 18
0
        private void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap img = (Bitmap)eventArgs.Frame.Clone();

            pb_motion.Image = img;
        }
Ejemplo n.º 19
0
        private void videoSourcePlayer_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();

            if (task.Contains(0))
            {
                String timepath = DateTime.Now.Hour.ToString() + "_" + DateTime.Now.Minute.ToString() + "_" + DateTime.Now.Second.ToString() + "_" + device_id;
                string img      = this.save_path + "\\" + timepath + ".jpg";
                bitmap.Save(img);
                task.Remove(0);

                FileResult fr = rf.UploadFile(img, CacheService.Instance.GetStuToken());
                if (fr != null)
                {
                    if (fr.code == "200")
                    {
                        //关联文件与记录
                        List <Attach> attaches = new List <Attach>();
                        foreach (Student s in CacheService.Instance.GetStudentList())
                        {
                            Attach a = new Attach {
                                subjectId = s.RecordId, ownerId = s.Id, type = "EXPERIMENT_RECORD_IMAGE"
                            };
                            attaches.Add(a);
                        }

                        AttachResult ar = rf.AttachRecordWithFile(CacheService.Instance.ExperimentId, fr.data.id, attaches, CacheService.Instance.GetStuToken());

                        if (ar != null)
                        {
                            if (ar.code == "200")
                            {
                                UploadFile up = new UploadFile()
                                {
                                    FileName = timepath + ".jpg", FileType = fileType, Status = UploadFile.SUCCESS, FilePath = img, Id = fr.data.id, Color = "#FF979797", Operation = UploadFile.OPENDOC
                                };
                                this.cb.Dispatcher.BeginInvoke(updateListBoxAction, this.cb, up);
                            }
                            else
                            {
                                UploadFile up = new UploadFile()
                                {
                                    FileName = timepath + ".jpg", FileType = fileType, Status = UploadFile.FAIL, FilePath = img, Id = -1, Color = "Red", Operation = UploadFile.REUPLOAD
                                };
                                this.cb.Dispatcher.BeginInvoke(updateListBoxAction, this.cb, up);
                            }
                        }
                        else
                        {
                            UploadFile up = new UploadFile()
                            {
                                FileName = timepath + ".jpg", FileType = fileType, Status = UploadFile.FAIL, FilePath = img, Id = -1, Color = "Red", Operation = UploadFile.REUPLOAD
                            };
                            this.cb.Dispatcher.BeginInvoke(updateListBoxAction, this.cb, up);
                        }
                    }
                    else
                    {
                        UploadFile up = new UploadFile()
                        {
                            FileName = timepath + ".jpg", FileType = fileType, Status = UploadFile.FAIL, FilePath = img, Id = -1, Color = "Red", Operation = UploadFile.REUPLOAD
                        };
                        this.cb.Dispatcher.BeginInvoke(updateListBoxAction, this.cb, up);
                    }
                }
                else
                {
                    UploadFile up = new UploadFile()
                    {
                        FileName = timepath + ".jpg", FileType = fileType, Status = UploadFile.FAIL, FilePath = img, Id = -1, Color = "Red", Operation = UploadFile.REUPLOAD
                    };
                    this.cb.Dispatcher.BeginInvoke(updateListBoxAction, this.cb, up);
                }
            }
            GC.Collect();
        }
 void FinalFrame_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     Imgbox1.Image          = skin;
     subwindow.DisplayImage = skin;
 }
Ejemplo n.º 21
0
        private void Stream1_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap bmp = (Bitmap)eventArgs.Frame.Clone();

            cam1.Image = bmp;
        }
Ejemplo n.º 22
0
    // Todo: cubic interpolation
    public override void OnNewFrame(Game game, NewFrameEventArgs args)
    {
        float dt = args.GetDt();
        if (playingTime == -1)
        {
            return;
        }
        playingTime += dt;
        float playingDist = playingTime * playingSpeed;

        UpdateAvi(dt);

        float distA = 0;
        int foundPoint = -1;
        for (int i = 0; i < cameraPointsCount - 1; i++)
        {
            CameraPoint a = cameraPoints[i];
            CameraPoint b = cameraPoints[i + 1];
            float dist = Distance(a, b);
            if (playingDist >= distA && playingDist < distA + dist)
            {
                foundPoint = i;
                break;
            }
            distA += dist;
        }
        if (foundPoint == -1)
        {
            Stop();
            return;
        }
        {
            CameraPoint a = cameraPoints[foundPoint];
            CameraPoint b = cameraPoints[foundPoint + 1];
            CameraPoint aminus = a;
            CameraPoint bplus = b;
            if (foundPoint -1 >= 0)
            {
                aminus = cameraPoints[foundPoint - 1];
            }
            if (foundPoint + 2 < cameraPointsCount)
            {
                bplus = cameraPoints[foundPoint + 2];
            }

            float t = (playingDist - distA) / Distance(a, b);
            float x = q(t, aminus.positionGlX, a.positionGlX, b.positionGlX, bplus.positionGlX);
            float y = q(t, aminus.positionGlY, a.positionGlY, b.positionGlY, bplus.positionGlY);
            float z = q(t, aminus.positionGlZ, a.positionGlZ, b.positionGlZ, bplus.positionGlZ);
            m.SetLocalPosition(x, y, z);

            float orientx = q(t, aminus.orientationGlX, a.orientationGlX, b.orientationGlX, bplus.orientationGlX);
            float orienty = q(t, aminus.orientationGlY, a.orientationGlY, b.orientationGlY, bplus.orientationGlY);
            float orientz = q(t, aminus.orientationGlZ, a.orientationGlZ, b.orientationGlZ, bplus.orientationGlZ);
            m.SetLocalOrientation(orientx, orienty, orientz);
        }
    }
Ejemplo n.º 23
0
 public virtual void OnNewFrameFixed(Game game, NewFrameEventArgs args) { }
Ejemplo n.º 24
0
 private void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     s = eventArgs.Signal;
     buffer.Enqueue(s.ToFloat());
 }
Ejemplo n.º 25
0
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     if (game.guistate != GuiState.CraftingRecipes)
     {
         return;
     }
     CraftingMouse(game);
 }
Ejemplo n.º 26
0
 private void webcam_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     eventArgs.Frame.RotateFlip(RotateFlipType.Rotate180FlipY);
     ImageWebcamFrame.Source = BitmapToBitmapImage(eventArgs.Frame);
 }
Ejemplo n.º 27
0
 public abstract void OnNewFrame(NewFrameEventArgs args);
Ejemplo n.º 28
0
        private void kameramiz_NewFrame(object sender, NewFrameEventArgs e)
        {
            Bitmap bit = (Bitmap)e.Frame.Clone();

            imgGiris.Image = bit;
        }
Ejemplo n.º 29
0
 void SourceNewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     var bm = (Bitmap)eventArgs.Frame.Clone();
     NewFrame?.Invoke(this, new NewFrameEventArgs(bm));
     bm.Dispose();
 }
Ejemplo n.º 30
0
 private void CaptureDevice_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     pb_cam.Image = (Bitmap)eventArgs.Frame.Clone();
 }
Ejemplo n.º 31
0
        private void CaptureDevice_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap img = (Bitmap)eventArgs.Frame.Clone();

            image = img;
        }
Ejemplo n.º 32
0
        private void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            if (requestedToStop)
            {
                return;
            }

            if (!IsTracking && !IsDetecting)
            {
                return;
            }


            lock (syncObject)
            {
                // skip first frames during initialization
                if (skip < 10)
                {
                    skip++; return;
                }

                Bitmap frame = eventArgs.Frame;

                int width  = frame.Width;
                int height = frame.Height;

                BitmapData data = frame.LockBits(new Rectangle(0, 0, width, height),
                                                 ImageLockMode.ReadWrite, frame.PixelFormat);

                UnmanagedImage image = new UnmanagedImage(data);

                if (IsDetecting)
                {
                    // Reduce frame size to process it faster
                    float xscale = (float)width / resize.NewWidth;
                    float yscale = (float)height / resize.NewHeight;

                    UnmanagedImage downsample = resize.Apply(image);

                    // Process the face detector in the downsampled image
                    Rectangle[] regions = detector.ProcessFrame(downsample);

                    // Check if the face has been steady 5 frames in a row
                    if (detector.Steady >= 5)
                    {
                        // Yes, so track the face
                        Rectangle face = regions[0];

                        // Reduce the face size to avoid tracking background
                        Rectangle window = new Rectangle(
                            (int)((face.X + face.Width / 2f) * xscale),
                            (int)((face.Y + face.Height / 2f) * yscale),
                            1, 1);

                        window.Inflate((int)(0.25f * face.Width * xscale),
                                       (int)(0.40f * face.Height * yscale));

                        // Re-initialize tracker
                        tracker.Reset();
                        tracker.SearchWindow = window;
                        tracker.ProcessFrame(image);

                        // Update initial position
                        computeCurrentPosition();

                        OnHeadEnter(new HeadEventArgs(currentX, currentY, currentAngle, currentScale));
                    }
                }

                else if (IsTracking)
                {
                    tracker.Extract = (NewFrame != null);

                    // Track the object
                    tracker.ProcessFrame(image);

                    // Get the object position
                    TrackingObject obj = tracker.TrackingObject;

                    // Update current position
                    computeCurrentPosition();

                    if (obj.IsEmpty || !tracker.IsSteady)
                    {
                        OnHeadLeave(EventArgs.Empty);
                    }

                    else
                    {
                        OnHeadMove(new HeadEventArgs(currentX, currentY, currentAngle, currentScale));

                        if (NewFrame != null && obj.Image != null)
                        {
                            Bitmap headFrame = obj.Image.ToManagedImage();
                            NewFrame(this, new NewFrameEventArgs(headFrame));
                        }
                    }
                }

                frame.UnlockBits(data);
            }
        }
Ejemplo n.º 33
0
        /* FinalFrame_NewFrame is an event Handler which gets fired every time the webcam captures a fresh image.
         * This allows image data to be intercepted and different image processing techniques can be applied.*/
        private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap image  = (Bitmap)eventArgs.Frame.Clone();
            Bitmap image1 = (Bitmap)eventArgs.Frame.Clone();

            pictureBox1.Image = image;


            //pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            // pictureBox1.Image = image;
            /*  Insert break-point here to view width and height of video in the ‘Locals’ Window. */

            if (radiobtnRed.Checked)
            {
                // create filter
                EuclideanColorFiltering filter = new EuclideanColorFiltering();
                // set center colol and radius
                filter.CenterColor = new RGB(Color.FromArgb(215, 0, 0));
                filter.Radius      = 100;
                // apply the filter
                filter.ApplyInPlace(image1);

                ProcessIMG(image1);

                while (true)
                {
                    if (objectX > 0)
                    {
                        // as the object is to the right of the screen.
                        sp.Write("6");
                        Thread.Sleep(100);
                        sp.Write("5");
                        Thread.Sleep(100);
                        break;
                        //textBox.Text += ("Robot Drive Right " + Environment.NewLine);
                    }
                    if (objectX < 0)
                    {
                        // as the object is to the left of the screen.
                        sp.Write("4");
                        Thread.Sleep(100);
                        sp.Write("5");
                        Thread.Sleep(100);
                        break;
                        //textBox.Text += ("robot drive Left " + Environment.NewLine);
                    }

                    if (objectX == 0)
                    {
                        // as the object is in the centre of the screen.
                        sp.Write("8");
                        Thread.Sleep(100);
                        sp.Write("5");
                        Thread.Sleep(100);
                        break;
                        //textBox.Text += ("Forward " + Environment.NewLine);
                    }
                }
            }



            if (radiobtnBlue.Checked)
            {
                // create filter
                EuclideanColorFiltering filter = new EuclideanColorFiltering();
                // set center colol and radius
                filter.CenterColor = new RGB(Color.FromArgb(30, 144, 255));
                filter.Radius      = 100;
                // apply the filter
                filter.ApplyInPlace(image1);

                ProcessIMG(image1);


                while (true)
                {
                    if (objectX > 0)
                    {
                        // as the object is to the right of the screen.
                        sp.Write("6");
                        Thread.Sleep(100);
                        sp.Write("5");
                        Thread.Sleep(100);
                        break;
                        //textBox.Text += ("Robot Drive Right " + Environment.NewLine);
                    }
                    if (objectX < 0)
                    {
                        // as the object is to the left of the screen.
                        sp.Write("4");
                        Thread.Sleep(100);
                        sp.Write("5");
                        Thread.Sleep(100);
                        break;
                        //textBox.Text += ("robot drive Left " + Environment.NewLine);
                    }

                    if (objectX == 0)
                    {
                        // as the object is in the centre of the screen.
                        sp.Write("8");
                        Thread.Sleep(100);
                        sp.Write("5");
                        Thread.Sleep(100);
                        break;
                        //textBox.Text += ("Forward " + Environment.NewLine);
                    }
                }
            }
        }
Ejemplo n.º 34
0
 public abstract void OnNewFrame(NewFrameEventArgs args);
Ejemplo n.º 35
0
        private void videoNewFrame(object sender, NewFrameEventArgs args)
        {
            Bitmap temp = args.Frame.Clone() as Bitmap;

            switch (comboBox3.SelectedIndex)
            {
            case 0:

                break;

            case 1:
                temp = new Grayscale(0.2125, 0.7154, 0.0721).Apply(temp);
                break;

            case 2:
                temp = new Grayscale(0.2125, 0.7154, 0.0721).Apply(temp);
                temp = new Threshold((int)numericUpDown1.Value).Apply(temp);
                break;

            case 3:
                temp = new Grayscale(0.2125, 0.7154, 0.0721).Apply(temp);
                AForge.Imaging.Filters.CannyEdgeDetector filter = new AForge.Imaging.Filters.CannyEdgeDetector();
                filter.ApplyInPlace(temp);
                break;

            case 4:
                for (int i = 0; i < (int)numericUpDown2.Value; i++)
                {
                    temp = new Dilatation().Apply(temp);
                }
                break;

            case 5:
                for (int i = 0; i < (int)numericUpDown2.Value; i++)
                {
                    temp = new Erosion().Apply(temp);
                }
                break;

            case 6:
                temp = new Grayscale(0.2125, 0.7154, 0.0721).Apply(temp);
                AForge.Imaging.Filters.BradleyLocalThresholding filter1 = new AForge.Imaging.Filters.BradleyLocalThresholding();
                filter1.ApplyInPlace(temp);
                break;
            }

            switch (comboBox2.SelectedIndex)
            {
            case 0:
            {
                BarcodeReader reader = new BarcodeReader();
                reader.Options.CharacterSet = "UTF-8";
                Result result = reader.Decode(temp);
                if (result != null)
                {
                    if (wait == false)
                    {
                        MessageBox.Show(result.ToString());
                        wait = true;
                    }
                }
                else
                {
                    wait = false;
                }
                break;
            }

            case 1:
            {
                /*Bitmap pImg = MakeGrayscale3((Bitmap)temp);
                 * using (ZBar.ImageScanner scanner = new ZBar.ImageScanner())
                 * {
                 *  scanner.SetConfiguration(ZBar.SymbolType.None, ZBar.Config.Enable, 0);
                 *  scanner.SetConfiguration(ZBar.SymbolType.CODE39, ZBar.Config.Enable, 1);
                 *  scanner.SetConfiguration(ZBar.SymbolType.CODE128, ZBar.Config.Enable, 1);
                 *
                 *  List<ZBar.Symbol> symbols = new List<ZBar.Symbol>();
                 *  symbols = scanner.Scan((System.Drawing.Image)pImg);
                 *  if (symbols != null && symbols.Count > 0)
                 *  {
                 *      string result = string.Empty;
                 *      symbols.ForEach(s => result += s.Data);
                 *      if (wait == false)
                 *      {
                 *          MessageBox.Show(result);
                 *          wait = true;
                 *      }
                 *  }
                 *  else
                 *      wait = false;
                 * }*/
                break;
            }

            case 2:
            {
                break;
            }

            case 3:
                break;
            }
            this.pictureBox1.Image = ResizeBitmap(temp);
        }
Ejemplo n.º 36
0
        private void cam_newframe(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap bit = (Bitmap)eventArgs.Frame.Clone();

            pictureBox2.Image = bit;
        }
Ejemplo n.º 37
0
 public override void OnNewFrame(Game game, NewFrameEventArgs args)
 {
     float dt = args.GetDt();
     UpdateGraph(dt);
     UpdateTitleFps(dt);
     Draw();
 }
Ejemplo n.º 38
0
        void Finalvideo_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap image  = (Bitmap)eventArgs.Frame.Clone();
            Bitmap image1 = (Bitmap)eventArgs.Frame.Clone();

            pictureBox1.Image = image;



            if (rdiobtnKirmizi.Checked)
            {
                // create filter
                EuclideanColorFiltering filter = new EuclideanColorFiltering();
                // set center colol and radius
                filter.CenterColor = new RGB(Color.FromArgb(215, 0, 0));
                filter.Radius      = 100;
                // apply the filter
                filter.ApplyInPlace(image1);


                nesnebul(image1);
            }

            if (rdiobtnMavi.Checked)
            {
                // create filter
                EuclideanColorFiltering filter = new EuclideanColorFiltering();
                // set center color and radius
                filter.CenterColor = new RGB(Color.FromArgb(30, 144, 255));
                filter.Radius      = 100;
                // apply the filter
                filter.ApplyInPlace(image1);

                nesnebul(image1);
            }
            if (rdiobtnYesil.Checked)
            {
                // create filter
                EuclideanColorFiltering filter = new EuclideanColorFiltering();
                // set center color and radius
                filter.CenterColor = new RGB(Color.FromArgb(0, 215, 0));
                filter.Radius      = 100;
                // apply the filter
                filter.ApplyInPlace(image1);

                nesnebul(image1);
            }


            if (rdbtnElleBelirleme.Checked)
            {
                // create filter
                EuclideanColorFiltering filter = new EuclideanColorFiltering();
                // set center colol and radius
                filter.CenterColor = new RGB(Color.FromArgb(R, G, B));
                filter.Radius      = 100;
                // apply the filter
                filter.ApplyInPlace(image1);

                nesnebul(image1);
            }
        }
Ejemplo n.º 39
0
 private void NewFrame(object sender, NewFrameEventArgs<int> args)
 {
     angle = args.Data;
     base.QueueDraw ();
 }
Ejemplo n.º 40
0
        private void video_NuevoFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap Imagen = (Bitmap)eventArgs.Frame.Clone();

            pbFotoUser.Image = Imagen; //pbFotoUser es nuestro pictureBox
        }
Ejemplo n.º 41
0
    internal void FrameTick(float dt)
    {
        NewFrameEventArgs args_ = new NewFrameEventArgs();
        args_.SetDt(dt);
        for (int i = 0; i < clientmodsCount; i++)
        {
            clientmods[i].OnNewFrameFixed(this, args_);
        }
        for (int i = 0; i < entitiesCount; i++)
        {
            Entity e = entities[i];
            if (e == null) { continue; }
            for (int k = 0; k < e.scriptsCount; k++)
            {
                e.scripts[k].OnNewFrameFixed(this, i, dt);
            }
        }
        RevertSpeculative(dt);

        if (guistate == GuiState.MapLoading) { return; }

        float orientationX = platform.MathSin(player.position.roty);
        float orientationY = 0;
        float orientationZ = -platform.MathCos(player.position.roty);
        platform.AudioUpdateListener(EyesPosX(), EyesPosY(), EyesPosZ(), orientationX, orientationY, orientationZ);

        playervelocity.X = player.position.x - lastplayerpositionX;
        playervelocity.Y = player.position.y - lastplayerpositionY;
        playervelocity.Z = player.position.z - lastplayerpositionZ;
        playervelocity.X *= 75;
        playervelocity.Y *= 75;
        playervelocity.Z *= 75;
        lastplayerpositionX = player.position.x;
        lastplayerpositionY = player.position.y;
        lastplayerpositionZ = player.position.z;
    }
Ejemplo n.º 42
0
Archivo: frmFoto.cs Proyecto: sileft/ee
        /*
         *  Muestra imagen en el PictureBox
         */
        private void MostrarImagen(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap imagen = (Bitmap)eventArgs.Frame.Clone();

            pbFoto.Image = imagen;
        }
Ejemplo n.º 43
0
 public override void OnNewFrame(Game game, NewFrameEventArgs args)
 {
     game.packetHandlers[Packet_ServerIdEnum.EntitySpawn] = spawn;
     game.packetHandlers[Packet_ServerIdEnum.EntityPosition] = position;
     game.packetHandlers[Packet_ServerIdEnum.EntityDespawn] = despawn;
 }
Ejemplo n.º 44
0
    public void OnNewFrame(NewFrameEventArgs args)
    {
        if (!initialized)
        {
            initialized = true;
            p.InitShaders();

            p.GlClearColorRgbaf(0, 0, 0, 1);
            p.GlEnableDepthTest();
        }
        viewportWidth = p.GetCanvasWidth();
        viewportHeight = p.GetCanvasHeight();
        DrawScene(args.GetDt());
        Animate(args.GetDt());
        loginClient.Update(p);
    }
Ejemplo n.º 45
0
void FinalVideo_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
    Bitmap video = (Bitmap)eventArgs.Frame.Clone();
    pictureBox1.Image = video;

}
Ejemplo n.º 46
0
 /// <summary>
 /// 每帧录制帧数回调
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="eventArgs"></param>
 private void VideoStreamer_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     this.picScreen.Image = (Bitmap)eventArgs.Frame.Clone();
 }
Ejemplo n.º 47
0
        // Worker thread
        private void WorkerThread()
        {
            // buffer to read stream
            var buffer = new byte[BufSize];
            var encoding = new ASCIIEncoding();
            var res = ReasonToFinishPlaying.StoppedByUser;
            while (!_stopEvent.WaitOne(0, false) && !MainForm.ShuttingDown)
            {
                // reset reload event
                _reloadEvent.Reset();

                // HTTP web request
                HttpWebRequest request = null;
                // web responce
                WebResponse response = null;
                // stream for MJPEG downloading
                Stream stream = null;
                // boundary betweeen images (string and binary versions)

                try
                {
                    // create request
                    request = (HttpWebRequest)WebRequest.Create(_source);
                    // set user agent
                    if (_userAgent != null)
                    {
                        request.UserAgent = _userAgent;
                    }

                    // set proxy
                    if (_proxy != null)
                    {
                        request.Proxy = _proxy;
                    }

                    if (_usehttp10)
                        request.ProtocolVersion = HttpVersion.Version10;

                    // set timeout value for the request
                    request.Timeout = request.ServicePoint.ConnectionLeaseTimeout = request.ServicePoint.MaxIdleTime = _requestTimeout;
                    request.AllowAutoRedirect = true;

                    // set login and password
                    if ((_login != null) && (_password != null) && (_login != string.Empty))
                        request.Credentials = new NetworkCredential(_login, _password);
                    // set connection group name
                    if (_useSeparateConnectionGroup)
                        request.ConnectionGroupName = GetHashCode().ToString();
                    // get response
                    response = request.GetResponse();

                    // get response stream
                    stream = response.GetResponseStream();
                    stream.ReadTimeout = _requestTimeout;

                    byte[] boundary = encoding.GetBytes("--myboundary");
                    byte[] sep = encoding.GetBytes("\r\n\r\n");

                    // loop

                    int startPacket = -1;
                    int endPacket = -1;
                    int ttl = 0;

                    bool hasaudio = false;

                    while ((!_stopEvent.WaitOne(0, false)) && (!_reloadEvent.WaitOne(0, false)))
                    {

                        int read;
                        if ((read = stream.Read(buffer, ttl, ReadSize)) == 0)
                            throw new ApplicationException();

                        ttl += read;

                        if (startPacket==-1)
                        {
                            startPacket = ByteArrayUtils.Find(buffer, boundary, 0, ttl);
                        }
                        else
                        {
                            if (endPacket == -1)
                            {
                                endPacket = ByteArrayUtils.Find(buffer, boundary, startPacket + boundary.Length, ttl-(startPacket + boundary.Length));
                            }
                        }

                        var nf = NewFrame;

                        if (startPacket>-1 && endPacket>startPacket)
                        {
                            int br = ByteArrayUtils.Find(buffer, sep, startPacket, 100);

                            if (br != -1)
                            {
                                var arr = new byte[br];
                                System.Array.Copy(buffer, startPacket, arr, 0, br - startPacket);
                                string s = Encoding.ASCII.GetString(arr);
                                int k = s.IndexOf("Content-type: ", StringComparison.Ordinal);
                                if (k!=-1)
                                {
                                    s = s.Substring(k+14);
                                    s = s.Substring(0,s.IndexOf("\r\n", StringComparison.Ordinal));
                                    s = s.Trim();
                                }
                                switch (s)
                                {
                                    case "image/jpeg":
                                        try
                                        {

                                            using (var ms = new MemoryStream(buffer, br + 4, endPacket - br - 8))
                                            {
                                                using (var bmp = (Bitmap)Image.FromStream(ms))
                                                {
                                                    var dae = new NewFrameEventArgs(bmp);
                                                    nf.Invoke(this, dae);
                                                }
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            //sometimes corrupted packets come through...
                                            MainForm.LogExceptionToFile(ex,"KinectNetwork");
                                        }

                                        break;
                                    case "audio/raw":
                                        if (!hasaudio)
                                        {
                                            hasaudio = true;
                                            //fixed 16khz 1 channel format
                                            RecordingFormat = new WaveFormat(16000, 16, 1);

                                            _waveProvider = new BufferedWaveProvider(RecordingFormat) { DiscardOnBufferOverflow = true, BufferDuration = TimeSpan.FromMilliseconds(500) };

                                            _sampleChannel = new SampleChannel(_waveProvider);
                                            _sampleChannel.PreVolumeMeter +=SampleChannelPreVolumeMeter;
                                            if (HasAudioStream != null)
                                            {
                                                HasAudioStream(this, EventArgs.Empty);
                                                HasAudioStream = null;
                                            }
                                        }

                                        var da = DataAvailable;
                                        if (da != null)
                                        {
                                            int l = endPacket - br - 8;
                                            var data = new byte[l];
                                            int d;
                                            using (var ms = new MemoryStream(buffer, br+4, l))
                                            {
                                                d = ms.Read(data, 0, l);
                                            }
                                            if (d > 0)
                                            {
                                                _waveProvider.AddSamples(data, 0, data.Length);

                                                if (Listening)
                                                {
                                                    WaveOutProvider.AddSamples(data, 0, data.Length);
                                                }

                                                //forces processing of volume level without piping it out
                                                var sampleBuffer = new float[data.Length];
                                                int r = _sampleChannel.Read(sampleBuffer, 0, data.Length);

                                                da(this, new DataAvailableEventArgs((byte[]) data.Clone(),r));
                                            }
                                        }

                                        break;
                                    case "alert/text":
                                        // code to handle alert notifications goes here
                                        if (AlertHandler != null)
                                        {
                                            int dl = endPacket - br - 8;
                                            var data2 = new byte[dl];
                                            using (var ms = new MemoryStream(buffer, br + 4, dl))
                                            {
                                                ms.Read(data2, 0, dl);
                                            }
                                            string alerttype = Encoding.ASCII.GetString(data2);
                                            AlertHandler(this, new AlertEventArgs(alerttype));
                                        }
                                        break;
                                }
                            }

                            ttl -= endPacket;
                            System.Array.Copy(buffer, endPacket, buffer, 0, ttl);
                            startPacket = -1;
                            endPacket = -1;
                        }

                    }
                }
                catch (ApplicationException)
                {
                    // do nothing for Application Exception, which we raised on our own
                    // wait for a while before the next try
                    Thread.Sleep(250);
                }
                catch (ThreadAbortException)
                {
                    break;
                }
                catch (Exception ex)
                {
                    // provide information to clients
                    MainForm.LogExceptionToFile(ex, "KinectNetwork");
                    res = ReasonToFinishPlaying.DeviceLost;
                    break;
                    // wait for a while before the next try
                    //Thread.Sleep(250);
                }
                finally
                {
                    request?.Abort();
                    stream?.Flush();
                    stream?.Close();
                    response?.Close();
                }

                // need to stop ?
                if (_stopEvent.WaitOne(0, false))
                    break;
            }

            PlayingFinished?.Invoke(this, new PlayingFinishedEventArgs(res));
        }
Ejemplo n.º 48
0
 public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
 {
     lines = new DrawWireframeCube();
 }
Ejemplo n.º 49
0
 public override void OnNewFrame(NewFrameEventArgs args)
 {
     l.OnNewFrame(args);
 }
Ejemplo n.º 50
0
        //Evento que clona la imagen de la camara disponible y lo manda al Picture box
        private void nuevaGrabacion(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap video = (Bitmap)eventArgs.Frame.Clone();

            pictureCamara.Image = video;
        }
Ejemplo n.º 51
0
        /// <summary>
        /// Notifies clients about new frame.
        /// </summary>
        /// 
        /// <param name="bmp">New frame's image.</param>
        /// 
        private void OnNewFrame( Bitmap bmp )
        {
            var nf = NewFrame;
            var se = _stopEvent;
            if (nf == null || se == null || (se.WaitOne(0, false)))
            {
                bmp.Dispose();
                return;
            }

            _framesReceived++;
            _bytesReceived += bmp.Width * bmp.Height * ( Image.GetPixelFormatSize( bmp.PixelFormat ) >> 3 );
           
            var dae = new NewFrameEventArgs(bmp);
            nf.Invoke(this, dae);
            bmp.Dispose();       
           
            
        }
Ejemplo n.º 52
0
 private void NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     _frames.OnNext(new Bitmap(eventArgs.Frame));
 }
Ejemplo n.º 53
0
 public override void OnNewFrame(NewFrameEventArgs args)
 {
     l.OnNewFrame(args);
 }
Ejemplo n.º 54
0
 public void stream_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     Image img = eventArgs.Frame;
     byte[] b = GetImageBytes(eventArgs.Frame);
     HttpContext.Current.Response.OutputStream.Write(b, 0, b.Length);
 }
Ejemplo n.º 55
0
 private static void HandleFrame(object sender, NewFrameEventArgs camera, string webcamIdHash)
 {
     if (camera?.Frame != null)
     {
         using (var ms = new MemoryStream())
         {
             camera.Frame.Save(ms, ImageFormat.Jpeg);
             var imageBytes = ms.ToArray();
             _Frames[webcamIdHash] = imageBytes;
         }
     }
 }
Ejemplo n.º 56
0
 public override void OnNewFrame(Game game, NewFrameEventArgs args)
 {
     InterpolatePositions(game, args.GetDt());
 }
Ejemplo n.º 57
0
 void capture2_NewFrame(ICapture sender, NewFrameEventArgs e)
 {
     pictureBox2.Image = e.Bitmap;
 }
Ejemplo n.º 58
0
 private static void video_NuevoFrame(object sender, NewFrameEventArgs eventArgs)
 {
     fotoWebCam = (Bitmap)eventArgs.Frame.Clone();
 }
Ejemplo n.º 59
0
    public override void OnNewFrameFixed(Game game, NewFrameEventArgs args)
    {
        float one = 1;
        float dt = args.GetDt();

        if (game.guistate == GuiState.MapLoading) { return; }

        bool angleup = false;
        bool angledown = false;
        float overheadcameraanglemovearea = one * 5 / 100;
        float overheadcameraspeed = 3;
        game.controls.wantsjump = game.guistate == GuiState.Normal && game.GuiTyping == TypingState.None && game.keyboardState[game.GetKey(GlKeys.Space)];
        game.controls.wantsjumphalf = false;
        game.controls.shiftkeydown = game.guistate == GuiState.Normal && game.GuiTyping == TypingState.None && game.keyboardState[game.GetKey(GlKeys.ShiftLeft)];
        game.controls.movedx = 0;
        game.controls.movedy = 0;
        game.controls.moveup = false;
        game.controls.movedown = false;
        if (game.guistate == GuiState.Normal)
        {
            if (game.GuiTyping == TypingState.None)
            {
                if (game.reachedwall_1blockhigh && (game.AutoJumpEnabled || (!game.platform.IsMousePointerLocked())))
                {
                    game.controls.wantsjump = true;
                }
                if (game.reachedHalfBlock)
                {
                    game.controls.wantsjumphalf = true;
                }
                if (game.overheadcamera)
                {
                    CameraMove m = new CameraMove();
                    if (game.keyboardState[game.GetKey(GlKeys.A)]) { game.overheadcameraK.TurnRight(dt * overheadcameraspeed); }
                    if (game.keyboardState[game.GetKey(GlKeys.D)]) { game.overheadcameraK.TurnLeft(dt * overheadcameraspeed); }
                    if (game.keyboardState[game.GetKey(GlKeys.W)]) { angleup = true; }
                    if (game.keyboardState[game.GetKey(GlKeys.S)]) { angledown = true; }
                    game.overheadcameraK.Center.X = game.player.position.x;
                    game.overheadcameraK.Center.Y = game.player.position.y;
                    game.overheadcameraK.Center.Z = game.player.position.z;
                    m.Distance = game.overheadcameradistance;
                    m.AngleUp = angleup;
                    m.AngleDown = angledown;
                    game.overheadcameraK.Move(m, dt);
                    float toDest = game.Dist(game.player.position.x, game.player.position.y, game.player.position.z,
                    game.playerdestination.X + one / 2, game.playerdestination.Y - one / 2, game.playerdestination.Z + one / 2);
                    if (toDest >= 1)
                    {
                        game.controls.movedy += 1;
                        if (game.reachedwall)
                        {
                            game.controls.wantsjump = true;
                        }
                        //player orientation
                        float qX = game.playerdestination.X - game.player.position.x;
                        float qY = game.playerdestination.Y - game.player.position.y;
                        float qZ = game.playerdestination.Z - game.player.position.z;
                        float angle = game.VectorAngleGet(qX, qY, qZ);
                        game.player.position.roty = Game.GetPi() / 2 + angle;
                        game.player.position.rotx = Game.GetPi();
                    }
                }
                else if (game.enable_move)
                {
                    if (game.keyboardState[game.GetKey(GlKeys.W)]) { game.controls.movedy += 1; }
                    if (game.keyboardState[game.GetKey(GlKeys.S)]) { game.controls.movedy += -1; }
                    if (game.keyboardState[game.GetKey(GlKeys.A)]) { game.controls.movedx += -1; game.localplayeranimationhint.leanleft = true; game.localstance = 1; }
                    else { game.localplayeranimationhint.leanleft = false; }
                    if (game.keyboardState[game.GetKey(GlKeys.D)]) { game.controls.movedx += 1; game.localplayeranimationhint.leanright = true; game.localstance = 2; }
                    else { game.localplayeranimationhint.leanright = false; }
                    if (!game.localplayeranimationhint.leanleft && !game.localplayeranimationhint.leanright) { game.localstance = 0; }

                    game.controls.movedx += game.touchMoveDx;
                    game.controls.movedy += game.touchMoveDy;
                }
            }
            if (game.controls.freemove || game.SwimmingEyes())
            {
                if (game.GuiTyping == TypingState.None && game.keyboardState[game.GetKey(GlKeys.Space)])
                {
                    game.controls.moveup = true;
                }
                if (game.GuiTyping == TypingState.None && game.keyboardState[game.GetKey(GlKeys.ControlLeft)])
                {
                    game.controls.movedown = true;
                }
            }
        }
    }
Ejemplo n.º 60
0
 private void FinalFrame_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     pictureBox2.Image = (Bitmap)eventArgs.Frame.Clone();
 }