关于pictureBox绑定图像,并保存图像到数据库进行读写
2011-09-13 13:29
489 查看
Form2
浏览:
string fileName = string.Empty;
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "*.BMP,*.JPG;*.GIF|*.BMP;*.JPG;*.GIF";
openFileDialog1.ShowDialog();
fileName = openFileDialog1.FileName;
Image a = Image.FromFile(openFileDialog1.FileName);
Bitmap bit = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(bit);//从指定的 Image 创建新的 Graphics(绘图)。
g.DrawImage(a, new Rectangle(0, 0, bit.Width, bit.Height), new Rectangle(0, 0, a.Width, a.Height), GraphicsUnit.Pixel);
//第一个参数:要绘制的图像
//第二个参数:它指定所绘制图像的位置和大小。 将图像进行缩放以适合该矩形。
//第三个参数:它指定 image 对象中要绘制的部分。
pictureBox1.Image = bit;
}
确定:上传到数据库
private void button2_Click(object sender, EventArgs e)
{
FileStream fs = File.OpenRead(fileName);
byte[] img = new byte[fs.Length];
fs.Read(img, 0,img.Length);
fs.Close();
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["Conn"].ToString());
SqlParameter p = new SqlParameter("@images", img);
SqlCommand sc = new SqlCommand("update Employees set employeeTx = @images where employeeID =2",conn);
sc.Parameters.Add(p);
if (sc.Connection.State == ConnectionState.Closed)
{
sc.Connection.Open();
}
sc.ExecuteNonQuery();
sc.Connection.Close();
Form3 f = new Form3();
this.Hide();
f.Show();
}
Form3窗体中显示图像 :
private void Form3_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["Conn"]);
SqlCommand com = new SqlCommand("select employeeTx from Employees where employeeID = 2",conn);
conn.Open();
byte[] b = (byte[])com.ExecuteScalar();
if (b.Length > 0)
{
MemoryStream s = new MemoryStream(b, true);
s.Write(b,0,b.Length);
Image a = new Bitmap(s);
Bitmap bit = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(bit);//从指定的 Image 创建新的 Graphics(绘图)。
g.DrawImage(a, new Rectangle(0, 0, bit.Width, bit.Height), new Rectangle(0, 0, a.Width, a.Height), GraphicsUnit.Pixel);
//第一个参数:要绘制的图像
//第二个参数:它指定所绘制图像的位置和大小。 将图像进行缩放以适合该矩形。
//第三个参数:它指定 image 对象中要绘制的部分。
pictureBox1.Image = bit;
}
}
另:绘制边框
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawRectangle(new Pen(Color.Black, 2), new Rectangle(new Point(1, 1), new Size(this.pictureBox1.Width - 2, this.pictureBox1.Height - 2))); //考虑到线的宽度为4
}
浏览:
string fileName = string.Empty;
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "*.BMP,*.JPG;*.GIF|*.BMP;*.JPG;*.GIF";
openFileDialog1.ShowDialog();
fileName = openFileDialog1.FileName;
Image a = Image.FromFile(openFileDialog1.FileName);
Bitmap bit = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(bit);//从指定的 Image 创建新的 Graphics(绘图)。
g.DrawImage(a, new Rectangle(0, 0, bit.Width, bit.Height), new Rectangle(0, 0, a.Width, a.Height), GraphicsUnit.Pixel);
//第一个参数:要绘制的图像
//第二个参数:它指定所绘制图像的位置和大小。 将图像进行缩放以适合该矩形。
//第三个参数:它指定 image 对象中要绘制的部分。
pictureBox1.Image = bit;
}
确定:上传到数据库
private void button2_Click(object sender, EventArgs e)
{
FileStream fs = File.OpenRead(fileName);
byte[] img = new byte[fs.Length];
fs.Read(img, 0,img.Length);
fs.Close();
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["Conn"].ToString());
SqlParameter p = new SqlParameter("@images", img);
SqlCommand sc = new SqlCommand("update Employees set employeeTx = @images where employeeID =2",conn);
sc.Parameters.Add(p);
if (sc.Connection.State == ConnectionState.Closed)
{
sc.Connection.Open();
}
sc.ExecuteNonQuery();
sc.Connection.Close();
Form3 f = new Form3();
this.Hide();
f.Show();
}
Form3窗体中显示图像 :
private void Form3_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["Conn"]);
SqlCommand com = new SqlCommand("select employeeTx from Employees where employeeID = 2",conn);
conn.Open();
byte[] b = (byte[])com.ExecuteScalar();
if (b.Length > 0)
{
MemoryStream s = new MemoryStream(b, true);
s.Write(b,0,b.Length);
Image a = new Bitmap(s);
Bitmap bit = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(bit);//从指定的 Image 创建新的 Graphics(绘图)。
g.DrawImage(a, new Rectangle(0, 0, bit.Width, bit.Height), new Rectangle(0, 0, a.Width, a.Height), GraphicsUnit.Pixel);
//第一个参数:要绘制的图像
//第二个参数:它指定所绘制图像的位置和大小。 将图像进行缩放以适合该矩形。
//第三个参数:它指定 image 对象中要绘制的部分。
pictureBox1.Image = bit;
}
}
另:绘制边框
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawRectangle(new Pen(Color.Black, 2), new Rectangle(new Point(1, 1), new Size(this.pictureBox1.Width - 2, this.pictureBox1.Height - 2))); //考虑到线的宽度为4
}
相关文章推荐
- 关于pictureBox绑定图像,并保存图像到数据库进行读写
- .net中关于PictureBox绑定数据库的图片字段
- 关于用VC,VB进行图像数据(二进制大对象)存储数据库的一点心
- 关于序列的使用,数据库中以自动生成的方式进行保存
- 关于用VC,VB进行图像数据(二进制大对象)存储数据库的一点心得
- 功能及需求:pictureBox里图像的缩放,要求不保存缩放后的图像,只对原图像进行查看式缩放,且图像缩小然后放大,处理图像失真的问题。
- net中关于PictureBox绑定数据库的图片字段 (转载)
- 关于图片保存到SQL数据库及从数据库读出显示在PictureBox中.
- 关于用VC,VB进行图像数据(二进制大对象)存储数据库的一点心得
- 郁闷了半天,原来是这个问题:关于C#中关于图片保存到数据库以及将数据库中的图片显示到PictureBox。
- 【转载】关于TreeView和数据库如何进行绑定显示
- 数据库的图像绑定到datagridview时,点击并显示在picturebox中
- 关于DataGrid数据绑定后对字段进行替换的问题与办法
- 一段绑定DC和hbitmap然后刷完DC后保存图像
- matlab 关于利用深度学习进行图像识别
- asp.net随记------关于连接数据库,对数据库进行操作的几个类
- 关于TreeView绑定数据库的表数据如何,代码在前两篇博文中~~
- MATLAB批量读取文件夹下的图像,并对图像进行裁剪为指定大小,旋转,缩放,加噪声处理,rgb2hsv,批量保存
- 关于Java数据库查询结果保存到DBF的小小总结^_^
- 关于从数据库绑定字段时的格式问题【原】