當前位置:妙知谷 >

遊戲數碼 >電腦 >

C#中picturebox控件的使用

C#中picturebox控件的使用

picturebox控件是C#常用的一個控件,對於我這種圖像處理研究方向,picturebox更是必不可少的。在做研究的過程中,我經常會遇到一個問題,就是怎麼使得我的picturebox能夠隨着我處理圖像的大小而隨之改變,不過這個問題在網上,高手基本上無視,像我這樣的新手又很是需要,直到我看別人寫的一個程序中才找到我要的答案,所以在這裏寫出來,希望和我這樣的新手能夠得到參考。

操作方法

(01)新建一個winform工程,添加一個button和picturebox控件,如圖所示

C#中picturebox控件的使用

(02)添加如下代碼,該程序是讀取我的攝像頭,cannys算子處理後在picturebox控件上顯示,程序中只是簡單使用了EmguCV的函數,不懂的可以見我另外一篇經驗EmguCV學習using Emgu.CV;using Emgu.CV.Structure;using Emgu.Util;namespace EEmguCV1{public partial class Form1 : Form{public Form1(){InitializeComponent();}Capture cam;private void btopen_Click(object sender, EventArgs e){cam = new Capture();Application.Idle += new EventHandler(processframe);}private void processframe(object sender, EventArgs arg){Image<Bgr, Byte> frame = cam.QueryFrame();Image<Gray,Byte> Ecanny=frame.Convert<Gray,Byte>();pictureBox1.Image = Ecanny.Canny(new Gray(100), new Gray(60)).Bitmap;}}}

C#中picturebox控件的使用 第2張

(03)很明顯picturebox控件只顯示了一小部分內容,我想全部顯示怎麼辦,這裏我們找到pictureBox控件的屬性,找到sizemode項,設置成autosize。

C#中picturebox控件的使用 第3張
C#中picturebox控件的使用 第4張

(04)很顯然這種顯示也只是一部分,另外一部分顯然是被窗體阻擋啦,所以我們需要把窗體也設置下。找到autosize將flase改成ture即可。

C#中picturebox控件的使用 第5張
C#中picturebox控件的使用 第6張

(05)不過這樣有點不方便,需要之前設置,怎麼能夠在打開圖像後根據實際情況自己調節模式呢?我這裏添加了一個菜單欄,依此鍵入如圖所示的值,並添加如下代碼。private void normalToolStripMenuItem_Click(object sender, EventArgs e){pictureBox1.SizeMode = PictureBoxSizeMode.Normal;}private void sToolStripMenuItem_Click(object sender, EventArgs e){pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;}private void autosizeToolStripMenuItem_Click(object sender, EventArgs e){pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;}運行效果如圖所示。

C#中picturebox控件的使用 第7張
C#中picturebox控件的使用 第8張
C#中picturebox控件的使用 第9張
C#中picturebox控件的使用 第10張

特別提示

上述程序都是在VS2008和EmguCV 2.3版本運行,如果不一致,可能運行結果不同。

標籤: 控件 picturebox
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/diannao/2elg0e.html