C#中picturebox控件的使用
来源:网络收集 点击: 时间:2024-08-28新建一个winform工程,添加一个button和picturebox控件,如图所示

添加如下代码,该程序是读取我的摄像头,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)
{
ImageBgr, Byte frame = cam.QueryFrame();
ImageGray,Byte Ecanny=frame.ConvertGray,Byte();
pictureBox1.Image = Ecanny.Canny(new Gray(100), new Gray(60)).Bitmap;
}
}
}

很明显picturebox控件只显示了一小部分内容,我想全部显示怎么办,这里我们找到pictureBox控件的属性,找到sizemode项,设置成autosize。


很显然这种显示也只是一部分,另外一部分显然是被窗体阻挡啦,所以我们需要把窗体也设置下。找到autosize将flase改成ture即可。


不过这样有点不方便,需要之前设置,怎么能够在打开图像后根据实际情况自己调节模式呢?我这里添加了一个菜单栏,依此键入如图所示的值,并添加如下代码。
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;
}
运行效果如图所示。




上述程序都是在VS2008和EmguCV 2.3版本运行,如果不一致,可能运行结果不同。nbsp;
picturebox版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1164189.html