Example #1
0
        protected override void OnExit()
        {
            SecondScreen secondScreen = (SecondScreen)window.Content;

            secondScreen.labelOne.Content        = "Hi";
            secondScreen.buttonThree.Click      -= stateChangeNextEventHandler;
            secondScreen.textboxOne.TextChanged -= TextboxOne_TextChanged;
        }
Example #2
0
        protected override void OnEnter()
        {
            SecondScreen secondScreen = (SecondScreen)window.Content;

            secondScreen.labelOne.Content      = "Thank you";
            secondScreen.buttonThree.IsEnabled = true;
            secondScreen.buttonThree.Click    += stateChangeNextEventHandler;
            // в задании этого явно не было указано, но я решил сделать переход в предыдущее состояние, если текст в поле изменился с "hello" на какой-либо другой:
            secondScreen.textboxOne.TextChanged += TextboxOne_TextChanged;
        }
Example #3
0
        protected override void OnExit()
        {
            SecondScreen secondScreen = (SecondScreen)window.Content;

            secondScreen.textboxOne.TextChanged -= stateChangeEventHandler;
        }
Example #4
0
        /// <summary>
        /// 视频截取图片操作
        /// </summary>
        public static string SaveVideoImage(SecondScreen sc2)
        {
            Player PP    = new Player();
            double PlayW = UserControlClass.sc2.FInkCanvas_Player.ActualWidth;
            double PlayH = UserControlClass.sc2.FInkCanvas_Player.ActualHeight;

            string   PlayPath   = "";
            string   PlayFormat = "";
            FileInfo finfo      = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + @"\XML\" + "Screen.xml");

            if (finfo.Exists)
            {
                //读取XML文档信息
                XmlDocument PlayXml = new XmlDocument();
                PlayXml.Load(AppDomain.CurrentDomain.BaseDirectory + @"\XML\" + "Screen.xml");
                XmlNode    PlayNode    = PlayXml.SelectSingleNode("Screen");
                XmlElement PlayElement = (XmlElement)PlayNode;
                //获取保存图片位置
                PlayPath = PlayElement["Location"].InnerText + "\\";
                //获取保存图片格式
                PlayFormat = PlayElement["Format"].InnerText;
            }
            if (string.IsNullOrEmpty(PlayPath))
            {
                PlayPath = "C:\\";
            }
            if (string.IsNullOrEmpty(PlayFormat))
            {
                PlayFormat = ".bmp";
            }

            //GUID(全局统一标识符)
            string             reValue   = string.Format("{0}{1}" + PlayFormat + "", PlayPath, Guid.NewGuid().ToString());
            RenderTargetBitmap RenderBit = new RenderTargetBitmap(Convert.ToInt32(PlayW), Convert.ToInt32(PlayH), 1 / 200, 1 / 200, PixelFormats.Pbgra32);

            DrawingVisual  PlayVisual  = new DrawingVisual();
            DrawingContext PlayContext = PlayVisual.RenderOpen();

            PlayContext.DrawVideo(UserControlClass.MPPlayer, new Rect(0, 0, PlayW, PlayH));
            PlayContext.Close();
            RenderBit.Render(PlayVisual);

            if (PlayFormat == ".bmp")
            {
                BmpBitmapEncoder bmpEncoder = new BmpBitmapEncoder();
                bmpEncoder.Frames.Add(BitmapFrame.Create(RenderBit));
                FileStream fileStream = new FileStream(reValue, FileMode.Create, FileAccess.ReadWrite);
                bmpEncoder.Save(fileStream);
                fileStream.Close();
                System.Windows.Forms.MessageBox.Show("保存位置:" + reValue);
                return(reValue);
            }
            else if (PlayFormat == ".jpg")
            {
                JpegBitmapEncoder jpgEncoder = new JpegBitmapEncoder();
                jpgEncoder.Frames.Add(BitmapFrame.Create(RenderBit));
                FileStream fileStream = new FileStream(reValue, FileMode.Create, FileAccess.ReadWrite);
                jpgEncoder.Save(fileStream);
                fileStream.Close();
                System.Windows.Forms.MessageBox.Show("保存位置:" + reValue);
                return(reValue);
            }
            else
            {
                PngBitmapEncoder pngEncoder = new PngBitmapEncoder();
                pngEncoder.Frames.Add(BitmapFrame.Create(RenderBit));
                FileStream fileStream = new FileStream(reValue, FileMode.Create, FileAccess.ReadWrite);
                pngEncoder.Save(fileStream);
                fileStream.Close();
                System.Windows.Forms.MessageBox.Show("保存位置:" + reValue);
                return(reValue);
            }
        }
Example #5
0
        ///<summary>
        ///截取摄像头文件图片
        ///</summary>
        public static string SaveCameraImage(SecondScreen win)
        {
            double   CameraW      = win.FInkCanvas_Camera.ActualWidth;
            double   CameraH      = win.FInkCanvas_Camera.ActualHeight;
            string   CameraPath   = "";
            string   CameraFormat = "";
            FileInfo finfo        = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + @"\XML\" + "Screen.xml");

            if (finfo.Exists)
            {
                //读取XML文档信息
                XmlDocument CameraXml = new XmlDocument();
                CameraXml.Load(AppDomain.CurrentDomain.BaseDirectory + @"\XML\" + "Screen.xml");
                XmlNode    CameraNode    = CameraXml.SelectSingleNode("Screen");
                XmlElement CameraElement = (XmlElement)CameraNode;
                //获取保存图片位置
                CameraPath = CameraElement["Location"].InnerText + "\\";
                //获取保存图片格式
                CameraFormat = CameraElement["Format"].InnerText;
            }

            if (string.IsNullOrEmpty(CameraPath))
            {
                CameraPath = "C:\\";
            }
            if (string.IsNullOrEmpty(CameraFormat))
            {
                CameraFormat = ".bmp";
            }

            //GUID(全局统一标识符)
            string             reValue   = string.Format("{0}{1}" + CameraFormat + "", CameraPath, Guid.NewGuid().ToString());
            RenderTargetBitmap RenderBit = new RenderTargetBitmap(Convert.ToInt32(CameraW), Convert.ToInt32(CameraH), 1 / 200, 1 / 200, PixelFormats.Pbgra32);

            DrawingVisual CameraVisual = new DrawingVisual();

            CameraVisual.Transform = new RotateTransform(180, CameraW / 2.0, CameraH / 2.0);
            DrawingContext CameraContext = CameraVisual.RenderOpen();

            // CameraContext.DrawImage(win.FInkCanvas_Camera.Source, new Rect(0, 0, CameraW, CameraH));
            CameraContext.PushTransform(new RotateTransform(180, CameraW / 2.0, CameraH / 2.0));
            CameraContext.Close();
            RenderBit.Render(CameraVisual);

            if (CameraFormat == ".bmp")
            {
                BmpBitmapEncoder bmpEncoder = new BmpBitmapEncoder();
                bmpEncoder.Frames.Add(BitmapFrame.Create(RenderBit));
                FileStream fileStream = new FileStream(reValue, FileMode.Create, FileAccess.ReadWrite);
                bmpEncoder.Save(fileStream);
                fileStream.Close();
                System.Windows.Forms.MessageBox.Show("保存位置:" + reValue);
                return(reValue);
            }
            else if (CameraFormat == ".jpg")
            {
                JpegBitmapEncoder jpgEncoder = new JpegBitmapEncoder();
                jpgEncoder.Frames.Add(BitmapFrame.Create(RenderBit));
                FileStream fileStream = new FileStream(reValue, FileMode.Create, FileAccess.ReadWrite);
                jpgEncoder.Save(fileStream);
                fileStream.Close();
                System.Windows.Forms.MessageBox.Show("保存位置:" + reValue);
                return(reValue);
            }
            else
            {
                PngBitmapEncoder pngEncoder = new PngBitmapEncoder();
                pngEncoder.Frames.Add(BitmapFrame.Create(RenderBit));
                FileStream fileStream = new FileStream(reValue, FileMode.Create, FileAccess.ReadWrite);
                pngEncoder.Save(fileStream);
                fileStream.Close();
                System.Windows.Forms.MessageBox.Show("保存位置:" + reValue);
                return(reValue);
            }
        }