• winfrom 图片互传


     private void button1_Click(object sender, EventArgs e)//从硬盘打开图片显示在窗体里面
            {
               OpenFileDialog op = new OpenFileDialog();//造一个打开对话框
               DialogResult dr =op.ShowDialog();//将打开对话框显示出来
                if(dr==DialogResult.OK) //如果点的是"打开"
                {
                    FileStream fs = new FileStream(op.FileName,FileMode.Open); // 获取你打开图片的路径 存到fs流里面去
                    //MessageBox.Show(op.FileName);
                    Image img = System.Drawing.Bitmap.FromStream(fs);//通过绘图函数把fs画出来
                    pictureBox1.Image = img;//图片框的图片内容
                }
            }

    
    
     //下面是打开一张图片存到数据库里面去
            private void button2_Click(object sender, EventArgs e) //打开一张图片存到数据库里面去
            {
                OpenFileDialog op = new OpenFileDialog();
                DialogResult dr = op.ShowDialog();
                if (dr == DialogResult.OK)
                {
                    FileStream fs = new FileStream(op.FileName,FileMode.Open); //获取你打开图片的路径存到fs里面去
                    //下面开始将路径转化为字节 存到数据库里面去
                    BinaryReader br = new BinaryReader(fs); //把fs(存放图片路径的流)转化为二进制 存到br里面去   BinaryReader 二进制读取器
                    //int[] x= new int[10];
                    byte[] butter=new byte[fs.Length]; //造一个字节类型的数组
                    butter = br.ReadBytes((int)fs.Length); //给字节butter赋值 ,赋的值是转化为二进制数据的流
    
                    //下面开始连接数据库 ,然后将图片存到里面去
                    SqlConnection conn = new SqlConnection("server=.;database=Cml;user=sa;pwd=123");
                    SqlCommand cmd = conn.CreateCommand();
                    conn.Open();
                    cmd.CommandText = "insert into lk values(@s)";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add("@s",butter); //butter   打开图片的路径→二进制数据→字节
                    cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    conn.Close();
                }
            }



     private void button3_Click(object sender, EventArgs e)//从数据库里调图片显示在窗体上
            {
                SqlConnection conn = new SqlConnection("server=.;database=Cml;user=sa;pwd=123");
                SqlCommand cmd = conn.CreateCommand();
                conn.Open();
                cmd.CommandText = "select top 1* from lk order by ids desc"; //order by 排序 group by 分组
                SqlDataReader dr = cmd.ExecuteReader();
                dr.Read();//开始读取数据
                
                byte[] butter = (byte[])dr["img"];  
                //butter现在是字节,但是窗体里面的图片类型是image的 ,所以要转回去   MemoryStream 是记忆流
                MemoryStream ms = new MemoryStream(butter);//已经把butter转换成流了
                Image img = System.Drawing.Bitmap.FromStream(ms); //将流绘制成图片
                pictureBox1.Image = img;
            }
    
    
     
  • 相关阅读:
    语句覆盖、判断覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖、修正条件覆盖
    Python日志
    Python基础
    curl-awk-grep
    bash使用 变量定义与使用、预定义变量、数组变量、变量计算、掐头去尾与内容替换、数字比较大小、字符串比较、判断文件夹是否存在、逻辑控制if/for/while/
    V模型 W模型 H模型 X模型 前置测试模型
    算法:回文、素数
    JAVA并发思维导图
    工作常见的git命令
    dubbo同步/异步调用的方式
  • 原文地址:https://www.cnblogs.com/w-wz/p/4562160.html
Copyright © 2020-2023  润新知