C# picturebox 用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# picturebox 用法相关的知识,希望对你有一定的参考价值。
想用picturebox来显示图片,老不会用,求高手帮我
窗体上是一个picturebox控件,一个按钮,
电脑中C::\123.jsp 为想要添加的图片
1,运行程序时,按按钮,就能出现选择文件夹那个窗口,然后选择到123.jsp,然后显示到picturebox控件上,
2,SQL数据库中要存储这个图片,类型为image,该如何写呢
3,要从数据库中提取这个图片放回picturebox上,又该如何写呢?
例如con.tables[0].row[0][4]就是这个图片,把他显示在picturebox上
picturebox.image=con.tables[0].row[0][4];这样写对么?
string dir = Environment.GetFolderPath(Environment.SpecialFolder.Templates);//指定初始目录
dlg.InitialDirectory = dir;//指定初始目录
dlg.Title = "简单对话框";
dlg.ShowReadOnly = true;//以只读方式打开
dlg.ShowHelp = true;//显示帮助按钮
///////
dlg.Filter = "程序.exe|*.exe|所有文件|*.*";//文件过滤器,指定打开文件类型
dlg.ShowDialog();//打开对话框
MessageBox.Show(dlg.Title);//打开消息
dlg.Multiselect = true;//是否允许一次打开多个文件
// if (dlg.ShowDialog() == DialogResult.OK)
//
if (dlg.CheckPathExists)//检查路径是否存在
if (dlg.CheckFileExists)//检查文件是否存在
if (dlg.ValidateNames)//检查是否有效Win32文件名
if (dlg.ShowDialog() == DialogResult.OK)
foreach (string s in dlg.FileNames)
//string fileName = dlg.FileName;
MessageBox.Show("打开文件:" + s);//打开消息对话框
本回答被提问者采纳 参考技术B PictureBox
控件的主要作用是为用户显示图片。实际显示图片由
Picture
属性决定。Picture
属性包括被显示的图片的文件名(及可选的路径名)。
注意
窗体对象也具有
Picture
属性,通过设置该属性可直接在窗体背景上显示图片。
要在运行时显示或替换图片,可利用函数
LoadPicture
来设置
Picture
属性。提供图片文件名和可选路径名,由
LoadPicture
函数处理加载和显示图片的细节。
picMain.Picture
=
LoadPicture("VANGOGH.BMP")
PictureBox
控件具有
AutoSize
属性,当该属性设置为
True
时,PictureBox
能自动调整大小与显示的图片匹配。如果要用
AutoSize
属性设置为
True
的
PictureBox
,设计窗体时就需要特别小心。图片将不考虑窗体上的其它控件而调整大小,这可能导致意想不到的后果,如覆盖其它控件。设计时应通过加载每一幅图片来检查是否有这种现象发生。
使用
PictureBox
作为容器
Picture
box
控件也可以用作其它控件的容器。象
Frame
控件一样,可以在
PictureBox
控件上面加上其它控件。这些控件随
PictureBox
移动而移动,其
Top
和
Left
属性是相对
PictureBox
而言,而与窗体无关。
PictureBox
容器的一种普通用法是
ToolBar
或
StatusBar
。可将
Image
控件置于这些容器中作为按钮或添加
Label
显示状态信息。将
Align
属性设置为
Top、Bottom、Left
或
Right
,PictureBox
将粘贴在窗体的边缘。
PictureBox
的其它用法
PictureBox
控件有几种方法使
PictureBox
可用于其它目的。例如:把
PictureBox
看作是一块空画布,可以在它上面画画或打印,或者显示文本、图形,甚至是简单的动画。
方法允许向
PictureBox
控件输出文本,如同向打印机输出一样。有几种字体属性可以控制由
方法输入的文本的特性;Cls
方法可以清除输出。
Circle、Line、Point
和
Pset
方法可以用于在
PictureBox
中画图形。一些属性如
DrawWidth、FillColor
和
FillStyle
允许自定义图形的外观。
用
PaintPicture
方法在图片控件内移动
Image
、并在几幅不同的
Image
间快速变化就能产生动画。
详细信息
关于
PictureBox
控件的详细信息,请参阅“使用
Visual
Basic
的标准控件”。
C# winform控件之PictureBox详解
PictureBox表示用于显示图像的 Windows 图片框控件https://msdn.microsoft.com/zh-cn/library/system.windows.forms.picturebox.aspx
建立一项目:
完整代码如下 :
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace TestPictureBox { public partial class frmTestPictureBox : Form { public frmTestPictureBox() { InitializeComponent(); this.tbxFilePath.Enabled = false; this.btnPreview.Enabled = false; } /// <summary> /// 选择文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSelectFile_Click(object sender, EventArgs e) { try { OpenFileDialog openFileDialog = new OpenFileDialog(); //设置打开对话框的初始目录,默认目录为exe运行文件所在的路径 openFileDialog.InitialDirectory = Application.StartupPath; //设置打开对话框的标题 openFileDialog.Title = "请选择图片"; //设置对话框是否记忆之前打开的目录 openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { //获取用户选择的文件完整路径 string filePath = openFileDialog.FileName; //获取对话框中所选文件的文件名和扩展名,文件名不包括路径 string fileName = openFileDialog.SafeFileName; if (isPicture(fileName)) { //获取用户选择的文件,并判断文件大小不能超过2M,fileInfo.Length是以字节为单位的 FileInfo fileInfo = new FileInfo(filePath); if (fileInfo.Length > 2097152) { MessageBox.Show("图片不能大于2M!"); } else { this.tbxFilePath.Text = filePath; this.btnPreview.Enabled = true; } } else { MessageBox.Show("图片不能为空!"); } } } catch (Exception ex) { } } /// <summary> /// 判断是否是图片 /// </summary> /// <param name="fileName"></param> /// <returns></returns> public bool isPicture(string fileName) { bool isFlag = true; try { if (fileName.EndsWith(".gif") || fileName.EndsWith(".jpge") || fileName.EndsWith(".jpg") || fileName.EndsWith(".png")) { return isFlag; } else { isFlag = false; return isFlag; } } catch (Exception ex) { } return isFlag; } /// <summary> /// 预览 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnPreview_Click(object sender, EventArgs e) { try { string filePath = this.tbxFilePath.Text; //根据路径转换为Byte[]数组 byte[] imgBytes = GetImageByPath(filePath); MemoryStream ms = new MemoryStream(imgBytes, 0, imgBytes.Length); //设置图片 Image returnImage = Image.FromStream(ms); //PictureBox 中的图像被拉伸或收缩,以适合PictureBox的大小 this.pictureBox.SizeMode = PictureBoxSizeMode.StretchImage; this.pictureBox.Image = returnImage; } catch (Exception ex) { } } /// <summary> /// 根据图片路径获取字节 /// </summary> /// <param name="filePath"></param> /// <returns></returns> public byte[] GetImageByPath(string filePath) { byte[] buffer = null; try { if (!string.IsNullOrEmpty(filePath)) { FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); buffer = new byte[fs.Length]; fs.Read(buffer, 0, (int)fs.Length); fs.Close(); return buffer; } } catch (Exception ex) { } return buffer; } } }
以上是关于C# picturebox 用法的主要内容,如果未能解决你的问题,请参考以下文章
C# Forms - 从 Buttons、PictureBoxes、