Heim > Datenbank > MySQL-Tutorial > 关于pictureBox绑定图像,并保存图像到数据库进行读写

关于pictureBox绑定图像,并保存图像到数据库进行读写

WBOY
Freigeben: 2016-06-07 14:59:46
Original
1322 Leute haben es durchsucht

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.Sh

Form2关于pictureBox绑定图像,并保存图像到数据库进行读写

浏览:

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage