private void OnScreenCaputred(object sender, RisCaptureLib.ScreenCaputredEventArgs e)
        {
            var bmp = e.Bmp;
            var win = new Window {
                SizeToContent = SizeToContent.WidthAndHeight, ResizeMode = ResizeMode.NoResize
            };

            var           grid = new Grid();
            RowDefinition row1 = new RowDefinition();
            RowDefinition row2 = new RowDefinition();

            row1.Height = new GridLength(bmp.Height);
            row2.Height = new GridLength(60);
            grid.RowDefinitions.Add(row1);
            grid.RowDefinitions.Add(row2);

            var canvas = new Canvas {
                Width = bmp.Width, Height = bmp.Height, Background = new ImageBrush(bmp)
            };

            grid.Children.Add(canvas);
            var textbox = new TextBox();

            textbox.Width = bmp.Width;
            textbox.Text  = OCRHelper.recognize(OCRHelper.Img2Base64(bmp));
            grid.Children.Add(textbox);
            Grid.SetRow(canvas, 0);
            Grid.SetRow(textbox, 1);

            win.Content = grid;
            win.Title   = "豆腐OCR截图";
            win.Show();
        }
Beispiel #2
0
        /// <summary>
        /// 截图完成后
        /// </summary>
        /// <param name="sender">控件源</param>
        /// <param name="e"></param>
        private void OnScreenCaputred(object sender, RisCaptureLib.ScreenCaputredEventArgs e)
        {
            var bmp = e.Bmp;

            try
            {
                Bitmap tmpimg = Helpers.BItmapSourceToBitmap(bmp);
                string path   = Applicate.LocalConfigData.ChatDownloadPath + DateTime.Now.ToFileTime() + ".png";
                ConsoleLog.Output("保存截图成功==" + path);
                LogHelper.log.Info("保存截图成功==" + path);
                tmpimg.Save(path, ImageFormat.Png);
                var mainview = this.DataContext as MainViewModel;//获取MainViewModel
                ShiKuManager.SendMessageFile(new MessageListItem
                {
                    Jid                = mainview.Sess.Jid,
                    ShowTitle          = mainview.Sess.NickName,
                    MessageItemContent = mainview.Sess.MyMemberNickname,
                    Avator             = Applicate.LocalConfigData.GetDisplayAvatorPath(mainview.Sess.Jid)
                }, path);
                //添加至富文本框
                //new InlineUIContainer(img, rtb_sendMessage.ThisRichText.Selection.Start);
            }
            catch (Exception ex)
            {
                ConsoleLog.Output("添加截图失败" + ex.Message);
                LogHelper.log.Error("添加截图失败", ex);
            }
        }
        private void OnScreenCaputred(object sender, RisCaptureLib.ScreenCaputredEventArgs e)
        {
            //set last size
            lastSize = new Size(e.Bmp.Width, e.Bmp.Height);

            //Show();
            //test
            var bmp = e.Bmp;

            Clipboard.SetImage(e.Bmp);
            lb_left.Content   = screenCaputre.left;
            lb_top.Content    = screenCaputre.top;
            lb_height.Content = screenCaputre.h;
            lb_width.Content  = screenCaputre.w;

            ParmIni.IniWriteValue("CaptureScreen", "Left", screenCaputre.left.ToString());
            ParmIni.IniWriteValue("CaptureScreen", "Top", screenCaputre.top.ToString());
            ParmIni.IniWriteValue("CaptureScreen", "Width", screenCaputre.w.ToString());
            ParmIni.IniWriteValue("CaptureScreen", "Height", screenCaputre.h.ToString());

            Var.CaptureScreen_Left   = Convert.ToInt16(ParmIni.IniReadValue("CaptureScreen", "Left"));
            Var.CaptureScreen_Top    = Convert.ToInt16(ParmIni.IniReadValue("CaptureScreen", "Top"));
            Var.CaptureScreen_Width  = Convert.ToInt16(ParmIni.IniReadValue("CaptureScreen", "Width"));
            Var.CaptureScreen_Height = Convert.ToInt16(ParmIni.IniReadValue("CaptureScreen", "Height"));
        }
        private void OnScreenCaputred(object sender, RisCaptureLib.ScreenCaputredEventArgs e)
        {
            //set last size
            lastSize = new Size(e.Bmp.Width, e.Bmp.Height);


            var parentWin = Window.GetWindow(this);

            parentWin.Show(); //这里是显示当前页面

            //文字识别OCR
            XunfeiOCR.ScreenShotImage.SaveImageToFile(e.Bmp, "temp.jpg");
            textBeforeTrans.Text = XunfeiOCR.OCR.GetOCRResult("temp.jpg");
        }
Beispiel #5
0
        private void OnScreenCaputred(object sender, RisCaptureLib.ScreenCaputredEventArgs e)
        {
            //set last size
            lastSize = new Size(e.Bmp.Width, e.Bmp.Height);


            Show();

            //test
            var bmp = e.Bmp;
            var win = new Window {
                SizeToContent = SizeToContent.WidthAndHeight, ResizeMode = ResizeMode.NoResize
            };

            var canvas = new Canvas {
                Width = bmp.Width, Height = bmp.Height, Background = new ImageBrush(bmp)
            };

            win.Content = canvas;
            win.Show();
        }
Beispiel #6
0
        private void OnScreenCaputred(object sender, RisCaptureLib.ScreenCaputredEventArgs e)
        {
            //set last size
            lastSize = new Size(e.Bmp.Width, e.Bmp.Height);


            m.Dispatcher.Invoke(new Action(delegate
            {
                m.Show();
                System.Drawing.Bitmap bmpImg = e.BmpImg;
                string fileName = new Random().NextDouble().ToString() + ".jpg";
                string filePath = "./ChatImageSend/" + new Random().NextDouble().ToString() + ".jpg";
                bmpImg.Save(filePath);
                FileInfo f        = new FileInfo(filePath);
                double fileLength = f.Length;
                Show_Time();
                ChatRecord.Document.Blocks.Add(Function.ToShow(TextAlignment.Right, e.Bmp, 1, Main.myheader));
                ChatRecord.ScrollToEnd();
                cs.SendMessage(ChatMessageType.PICTURE, fileName + "~" + filePath + "~" + fileLength.ToString("0.00"));
                //等待对方开启照片接收线程
                Thread.Sleep(2000);
                while (true)
                {
                    try
                    {
                        FileSend fs = new FileSend(ip, filePath, fileName);
                        fs.SendFile();
                        break;
                    }
                    catch (Exception ex)
                    {
                        Thread.Sleep(200);
                    }
                }
            }));
        }
 private void OnScreenCaputred(object sender, RisCaptureLib.ScreenCaputredEventArgs e)
 {
     tag.ReadFromScreenShot(e.Bmp);
     tag.Window.Show();
     Close();
 }