none
PictureBox 顯示errorImage RRS feed

  • 問題

  • 各位前輩好

                我使Thread建立一個CCD取得影像的function

    然後使用委託更新UI 讓PictureBox顯示得到的影像,

    在這個部分都沒有問題也可以正常更新。

    但是在加上將該影像存檔的時候pictureBox就無法取得正確的影像。

    程式碼如下:

    private void btn_StartScan_Click(object sender, EventArgs e)  按下Button執行CCD取像
            {
                Thread Th1 = new Thread(ScanThread);
                Th1.Start(); 

               }

    private void ScanThread()

             {                        

                              Bitmap img=GetImage();//取得CCD影像並回傳 Bitmap

                               

                                MyUI(img,pictureBox1);                        

                                string time = DateTime.Now.ToString("dd-hh-mm-ss");
                                 img.Save( " 圖片1");//存檔

    }

                                        

     private delegate void DisplayImg(Bitmap bmp, Control pictureBox1);
            private void MyUI(Bitmap bmp, Control pictureBox1)
            {
                if (this.InvokeRequired)
                {
                    DisplayImg ImageUpdate = new DisplayImg(MyUI);
                    this.Invoke(ImageUpdate, bmp, pictureBox1);

                }
                else
                {
                        pictureBox1.BackgroundImage = bmp;                  

                }

            }煩請給為先進指點 這跟問題是發生了什麼事,要如何更改,感謝

    2012年2月16日 上午 04:30

解答

  • 不是啊..我的意思是, 比方你的 pictureBox 用的是原來的 img , 你存檔前先Clone 一個 img01 好了, 然後存檔用 img01.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 白開水 2012年2月16日 上午 05:03
    2012年2月16日 上午 04:59
    版主

所有回覆

  • 先 Clone 再存檔 ?

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年2月16日 上午 04:42
    版主
  • 先Clone 後可以正常顯示。 

    然後img.save ()出現了其他地方正在使用物件.

    謝謝Bill 我又學會了Clone的用法了

    2012年2月16日 上午 04:50
  • 不是啊..我的意思是, 比方你的 pictureBox 用的是原來的 img , 你存檔前先Clone 一個 img01 好了, 然後存檔用 img01.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 白開水 2012年2月16日 上午 05:03
    2012年2月16日 上午 04:59
    版主
  •   感恩,順利成功了。謝謝你


    2012年2月16日 上午 05:04
  • Hi,

    建議將GetImage這道怎樣載入image的CODE秀出

    因為問題看來像是載入圖片時使用了類似image.fromstream造成的


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    2012年2月24日 下午 01:59