浏览:
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}