2

我使用两个函数将实时摄像头和图片加载到图片框 1 中,我希望同样的内容也显示在图片框 2 中...

pb1 中出现的任何内容也应该出现在 pb2 中。

4

2 回答 2

1

不幸的是,PictureBox没有eventlike OnImageChanged,所以你必须解决它。

解决它的一种方法是创建您自己的MyPictureBoxPictureBox(winform) 派生的类,其中它具有自己的 (overshadowing)Image属性。然后在类中声明ImageChanged事件及其处理程序。然后,在setter属性Image中,您可以调用ImageChangedevent.

发生这种ImageChanged情况时,您也可以更改其他PictureBox图像。

或者,您可能希望利用现有的(类似)LoadCompleted事件,PictureBox然后触发另一个PictureBox以获取新图像。

看看有没有什么方法适合你。

于 2015-12-29T13:13:53.020 回答
-1

嗨@user3004860 在我的示例中,当我将图片放入框中时,我已经悄悄地将图片插入到文件夹中,以便您可以在任何地方使用它,希望我的想法可以帮助您处理您的问题,如下代码是样本

if (!string.IsNullOrEmpty(fileExt))
            {
                var strExt = fileExt.ToLower();
                var newFileName = string.Format("{0}{1}{2}", DateTime.Now.ToString("yyyyMMddHHmmss"), Random.Next(0, 9999).ToString("D4"), strExt);
                var newOFileName = "o" + newFileName;                  

                string imgUrl = "/Files";

                var directory = new System.IO.DirectoryInfo(Server.MapPath("~"+imgUrl));
                if (!directory.Exists)
                    directory.Create();

                try
                {

                    upload.SaveAs(directory + "/" + newOFileName);
                    string res;                    
                        res =
                            string.Format(
                                "top.$('.mce-btn.mce-open').parent().find('.mce-textbox').val('{0}{1}').closest('.mce-window').find('.mce-primary').click();",
                                imgUrl + '/', newOFileName);
                    return Content(res);
                }
                catch
                {
                    return Content("error");
                }

            }
于 2015-12-29T13:08:32.947 回答