精华内容
下载资源
问答
  • 建立一个windows窗体应用程序,在form1界面中拖入两个按钮和一个pictureBox,通过输入输出流来上传图片显示图片。需要添加一下openFileDialog1. 界面如下: 在cs中写上传和显示图片的方法 1 //上传图片 ...

    建立一个windows窗体应用程序,在form1界面中拖入两个按钮和一个pictureBox,通过输入输出流来上传图片和显示图片。需要添加一下openFileDialog1.

    界面如下:

    在cs中写上传和显示图片的方法

     1  //上传图片
     2         private void button1_Click(object sender, EventArgs e)
     3         {
     4             //图片的转化
     5             openFileDialog1.Filter = "*jpg|*.jpg|*bmp|*.bmp|*gif|*.gif";//设置图片另存为文件类型格式,filter是文件筛选器
     6             DialogResult da = openFileDialog1.ShowDialog();
     7             if(da==DialogResult.OK)
     8             {
     9                 string fil = openFileDialog1.FileName;
    10                 FileStream fs = new FileStream(fil,FileMode.Open,FileAccess.Read);
    11                 byte[] img=new byte[fs.Length];
    12                 BinaryReader br = new BinaryReader(fs);//二进制读取器
    13                 img = br.ReadBytes(Convert.ToInt32(fs.Length));
    14                 //链接数据库
    15                SqlConnection conn = new SqlConnection("server=.;database=newData;user=sa;pwd=123");
    16                conn.Open();
    17                SqlCommand cmd = conn.CreateCommand();
    18                cmd.CommandText = "insert into Table_1 values(@image)";
    19                cmd.Parameters.Clear();
    20                cmd.Parameters.Add("@image",img);
    21                cmd.ExecuteNonQuery();
    22                conn.Close();
    23                MessageBox.Show("上传成功");
    24 
    25             }
    上传图片的方法
     1   //从数据库中读取图片
     2         private void button2_Click(object sender, EventArgs e)
     3         {
     4             SqlConnection conn = new SqlConnection("server=.;database=newData;user=sa;pwd=123");
     5             conn.Open();
     6             SqlCommand cmd = conn.CreateCommand();
     7             cmd.CommandText = "select top 1*from Table_1";
     8             SqlDataReader dr = cmd.ExecuteReader();
     9             dr.Read();
    10             byte[] img = (byte[])dr["Ino"];
    11            // byte[] img1=(byte[])dr["Ino"];
    12             MemoryStream ms = new MemoryStream(img,0,img.Length);
    13             ms.Write(img,0,img.Length);
    14             Image image = Image.FromStream(ms);
    15             this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
    16             this.pictureBox1.Image = image;
    17         }
    从数据库显示图片的方法

     

    转载于:https://www.cnblogs.com/xiaoqingshe/p/4296443.html

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201505/15/1431667892_645816.png) 如果有多张图片就以多列的方式显示图片
  • 2,读取并显示在picturebox中  2.1 添加一个picturebox,名为ptbShow  2.2 添加一个按钮,添加如下响应事件:  SqlConnection conn=new SqlConnection();  conn.ConnectionString="Data Source=localhost;...

    1,存入sqlserver
      数据库结构
      create table test
      {
         id identity(1,1),
         FImage image
      }
     1.1,在窗体中加一个OpenFileDialog控件,命名为ofdSelectPic
     1.2,在窗体上添加一个打开文件按钮,添加如下单击事件代码:
        Stream ms;
      byte[] picbyte;
      //ofdSelectPic.ShowDialog();
      if (ofdSelectPic.ShowDialog()==DialogResult.OK)
      {
       if ((ms=ofdSelectPic.OpenFile())!=null)
       {
        //MessageBox.Show("ok");
        picbyte=new byte[ms.Length];
        ms.Position=0;
        ms.Read(picbyte,0,Convert.ToInt32(ms.Length));
        //MessageBox.Show("读取完毕!");

        //连接数据库
        SqlConnection conn=new SqlConnection();
        conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

        SqlCommand cmd=new SqlCommand("UpdateImage",conn);
        cmd.CommandType=CommandType.StoredProcedure;

        cmd.Parameters.Add("@UpdateImage",SqlDbType.Image);
        cmd.Parameters["@UpdateImage"].Value=picbyte;

        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();

        ms.Close();
        }
       }

    2,读取并显示在picturebox中
     2.1 添加一个picturebox,名为ptbShow
     2.2 添加一个按钮,添加如下响应事件:
          SqlConnection conn=new SqlConnection();
     conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

     string strSql="select FImage from test where id=1";

     SqlCommand cmd=new SqlCommand(strSql,conn);

     conn.Open();
     SqlDataReader reader=cmd.ExecuteReader();
            reader.Read();

     MemoryStream ms=new MemoryStream((byte[])reader["FImage"]);


     Image image=Image.FromStream(ms,true);

            reader.Close();
            conn.Close();

     ptbShow.Image=image;

    转载于:https://www.cnblogs.com/kwklover/archive/2004/05/10/8773.html

    展开全文
  • 废话不多说,先上结果图。  最近做某旅游系统,需要...在数据显示这一部分,很重要的一个问题就是图片应该用什么样的方法存储?从网上看了诸多博客,发现主要有以下四种方法:  ①把图片直接以blob的类型存在Oracle
    

          废话不多说,先上结果图。

        最近做某旅游系统,需要一个窗口来显示旅游景点的信息。主要内容包括名称、图片和描述。系统的数据库是位于阿里云服务器上的oracle,系统是用c#开发的winform应用。在数据显示这一部分,很重要的一个问题就是图片应该用什么样的方法存储?从网上看了诸多博客,发现主要有以下四种方法:

        ①把图片直接以blob的类型存在Oracle数据库中,再调用;

        ②把图片放在本地,和应用程序一起打包,在oracle中存图片的相对路径;

        ③手动把图片放在数据库所在的服务器上,在oracle中存对应的URL;

        ④直接调用网络图片,只在oracle中存网络图片的URL;

        事实上,③和④的原理是一致的,都是调用服务器(网络)资源。考虑到②会使得客户端软件较大,①是一种对数据库资源的浪费且我们需要的图片可能随时更换。因此,我们考虑采用第④种方法来实现。

        STEP 1: 建立数据库(如何连接远程数据库我这里就不赘述了)

        不论是用sqlserver还是命令行的方式,总之先把表给建立起来。


            注意URL用变长字符串类型VARCHAR2来存,大小设置的稍微大一些。图片的URL是在网上找,可以通过度娘或google来搜,注意,要把搜出来的图片单独拖出来形成一个网页看它的URL,这个才是这图片真正的URL。

        STEP 2: 编码

        有几个值得注意的点

        ①数据库连接与sql执行

        不论是什么sql servermysql还是我们这里用的oracle,在.net框架下他们的操作都采用ADO.NET技术。基本步骤都是:连接数据库->定义操作->执行操作->返回并读取数据。

        使用oracle数据库的时候,注意一下,首先要设置项目属性中的目标平台为x64,然后设置项目框架为.NET framework 4

       

         记得添加相关引用:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.OracleClient;
    using System.IO;

        下面是oracle数据库操作部分的代码


    //连接数据库
                string connString;
                OracleConnection conn;
                OracleCommand cmd;
                connString = "data source=120.24.97.173/orcl;User Id=system;Password=000000;";//这里密码我已经改过了
                conn = new OracleConnection(connString);
                cmd = conn.CreateCommand();
                try
                {
                    conn.Open();
                    //MessageBox.Show("成功连接数据库");
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show("数据库连接异常");
    
                }
                string sqlString;
    
    //读取景点名称
                sqlString = @"select name from test_picture 
                            where NO=1";
                cmd.CommandText = sqlString;
                this.textBox2.Text=cmd.ExecuteScalar().ToString();
    
                //读取景点描述
                sqlString = @"select describe from test_picture 
                            where NO=1";
                cmd.CommandText = sqlString;
                this.textBox1.Text = cmd.ExecuteScalar().ToString();
    
    //读取网络图片url
                string urlString;
                sqlString = @"select picture from test_picture 
                            where NO=1";
                cmd.CommandText = sqlString;
                urlString = cmd.ExecuteScalar().ToString();
    

         ②通过网络图片的URL读取图片显示在picturebox

         使picturebox显示图片一般有三种方式:

        (1picturebox1.image= Image xxx:把一个Image对象赋值给picturebox;

        (2picturebox1.Load(string url):通过url进行图片的直接加载;

        (3picturebox1.LoadAsync(string url):通过url进行图片的异步加载。

        考虑到我们从数据库中获得的是图片的url,因此方法应该在23中选择。这里推荐方法3,异步加载。所谓直接加载,就是把把图片完全加载到缓冲中后在显示,而异步加载则是在主要图片还在加载的时候,用一张图片来代替显示。通过异步加载的方式,还可以方便地获得当前的加载进度从而进行显示。

        下面是显示图片的代码:


    try
                {
                    pictureBox1.WaitOnLoad = false;
                    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
                   pictureBox1.LoadAsync(urlString);
                }
                catch
                {
                    MessageBox.Show(" 网络连接失败 ");
                }  

        为了实现本问刚开始图片中的进度读取功能,应该在窗体中添加一个label控件和一个progressar控件,并为picturebox添加LoadProgressChange事件,相关代码如下:

     private void pictureBox1_LoadProgressChanged(object sender, ProgressChangedEventArgs e)
            {
                progressBar1.Value = e.ProgressPercentage;
                label4.Text = e.ProgressPercentage.ToString() + " % ";
            }

        最后希望本文对大家有一定的帮助,欢迎一起探讨技术问题。


    参考文献


    [1]   c# winform读取oracleblob字段的图片并且显示到pictureBox里,保存进库 - 黑色头发 - ITeye技术网站[EB/OL].[2017/5/9]. http://heisetoufa.iteye.com/blog/243172.


    [2]   C# PictureBox加载图片并显示进度条 -编程 - IT610.com[EB/OL].[2017/5/9]. http://www.it610.com/article/1224039.htm.












    展开全文
  • 本文总结如何在.Net Winform和.Net webform(asp.net)中将图片存入sqlserver中并读取显示的方法 1,使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来 一,上传并存入SqlServer 数据库结构 ...
    本文总结如何在.Net Winform和.Net webform(asp.net)中将图片存入sqlserver中并读取显示的方法 
    1,使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来
    一,上传并存入SqlServer
    数据库结构
    create table test
    {
    id identity(1,1),
    FImage image
    }
    相关的存储过程
    Create proc UpdateImage
    (
    @UpdateImage Image
    )
    As
    Insert Into test(FImage) values(@UpdateImage)
    GO

    在UpPhoto.aspx文件中添加如下:
    <input id="UpPhoto" name="UpPhoto" runat="server" type="file">
    <asp:Button id="btnAdd" name="btnAdd" runat="server" Text="上传"></asp:Button>

    然后在后置代码文件UpPhoto.aspx.cs添加btnAdd按钮的单击事件处理代码:
    private void btnAdd_Click(object sender, System.EventArgs e)
    {
    //获得图象并把图象转换为byte[]
    HttpPostedFile upPhoto=UpPhoto.PostedFile;
    int upPhotoLength=upPhoto.ContentLength;
    byte[] PhotoArray=new Byte[upPhotoLength];
    Stream PhotoStream=upPhoto.InputStream;
    PhotoStream.Read(PhotoArray,0,upPhotoLength);

    //连接数据库
    SqlConnection conn=new SqlConnection();
    conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

    SqlCommand cmd=new SqlCommand("UpdateImage",conn);
    cmd.CommandType=CommandType.StoredProcedure;

    cmd.Parameters.Add("@UpdateImage",SqlDbType.Image);
    cmd.Parameters["@UpdateImage"].Value=PhotoArray;

    //如果你希望不使用存储过程来添加图片把上面四句代码改为:
    //string strSql="Insert into test(FImage) values(@FImage)";
    //SqlCommand cmd=new SqlCommand(strSql,conn);
    //cmd.Parameters.Add("@FImage",SqlDbType.Image);
    //cmd.Parameters["@FImage"].Value=PhotoArray;

    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    }

    二,从SqlServer中读取并显示出来
    在需要显示图片的地方添加如下代码:
    <asp:image id="imgPhoto" runat="server" ImageUrl="ShowPhoto.aspx"></asp:image>

    ShowPhoto.aspx主体代码:
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!Page.IsPostBack)
    {
    SqlConnection conn=new SqlConnection()
    conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

    string strSql="select * from test where id=2";//这里假设获取id为2的图片
    SqlCommand cmd=new SqlCommand()
    reader.Read();
    Response.ContentType="application/octet-stream";
    Response.BinaryWrite((Byte[])reader["FImage"]);
    Response.End();
    reader.Close();
    }
    }

    3,在winform中将图片存入sqlserver,并从sqlserver中读取并显示在picturebox中

    1,存入sqlserver
    数据库结构和使用的存储过过程,同上面的一样
    1.1,在窗体中加一个OpenFileDialog控件,命名为ofdSelectPic
    1.2,在窗体上添加一个打开文件按钮,添加如下单击事件代码:
    Stream ms;
    byte[] picbyte;
    //ofdSelectPic.ShowDialog();
    if (ofdSelectPic.ShowDialog()==DialogResult.OK)
    {
    if ((ms=ofdSelectPic.OpenFile())!=null)
    {
    //MessageBox.Show("ok");
    picbyte=new byte[ms.Length];
    ms.Position=0;
    ms.Read(picbyte,0,Convert.ToInt32(ms.Length));
    //MessageBox.Show("读取完毕!");

    //连接数据库
    SqlConnection conn=new SqlConnection();
    conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

    SqlCommand cmd=new SqlCommand("UpdateImage",conn);
    cmd.CommandType=CommandType.StoredProcedure;

    cmd.Parameters.Add("@UpdateImage",SqlDbType.Image);
    cmd.Parameters["@UpdateImage"].Value=picbyte;

    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();

    ms.Close();
    }
    }

    2,读取并显示在picturebox中
    2.1 添加一个picturebox,名为ptbShow
    2.2 添加一个按钮,添加如下响应事件:
    SqlConnection conn=new SqlConnection();
    conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

    string strSql="select FImage from test where id=1";

    SqlCommand cmd=new SqlCommand(strSql,conn);

    conn.Open();
    SqlDataReader reader=cmd.ExecuteReader();
    reader.Read();

    MemoryStream ms=new MemoryStream((byte[])reader["FImage"]);

    Image image=Image.FromStream(ms,true);

    reader.Close();
    conn.Close();

    ptbShow.Image=image;  



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1361544

     
    展开全文
  • 本文总结如何在.Net Winform和.Net webform(asp.net)中将图片存入sqlserver中并读取显示的方法 1,使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来 一,上传并存入SqlServer 数据库结构 ...
  • winForm pdf显示 转换 图片

    千次阅读 2013-01-23 16:25:36
    最近弄了一个项目,需要读取本机的pdf文件转换成图片放置到另外一个文件夹下,现在把代码分享下:  一、看看如何读取本机的pdf文件到窗体中  首先,我们下载一个pdf阅读AdbeRdr器到电脑上,最好是安装完整版的...
  • 2. MySQL数据库相应字段设为mediumtext型,约16MB,够用啦,再意大小可的可以用TEXT,约64KB,少了点,不要用LongText,可以存4G,但是DataTable读取不了,也没必要这么大啦。 3. 存入前,要进行压缩,简单测试了...
  • 本文总结如何在.Net Winform和.Net webform(asp.net)中将图片存入sqlserver中并读取显示的方法 1,使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来 一,上传并存入SqlServer 数据库结构 ...
  • 从MP3的ID3v2头中读取专辑图片在WPF的Image控件中显示出来,也可用于Winform
  • 本文总结如何在.Net Winform和.Net webform(asp.net)中将图片存入sqlserver中并读取显示的方法 1,使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来 一,上传并存入SqlServer 数据库结构 ...
  • 步骤: 一、导入状态图片到项目中: 二、在窗体中声明一个图片数组,... /// 存储状态图片序列,避免同一状态对图片重复读取引发闪烁。 /// </summary> private Image[] StatusImgs; private void F...
  • C#winform保存PictureBox中的图片到数据库,从数据库读取图片显示到PictrueBox,参数无效,请求大侠帮忙...stringsql_select="select*fromst_employeewhereeworkid='"+txtid.Trim()+"...C# winform 保存PictureBox中...
  • 举个例子,我想把某个文件夹下的图片文件读取并显示在PictureBox里,如何实现。对文件操作类比较陌生,恳请高手指点;多个图片,用PictureBox好吗?WinForm的,VS.NET.还请高手不吝赐教,谢谢!^_^ 转载于:...
  • 原文地址:asp.net将图片上传并存入SqlServer中作者:小龙 本文总结...1,使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来 一,上传并存入SqlServer 数据库结构 create table test { id
  • 一开始取值并显示数据的时候,还算流畅,但是当过了三四十秒后,四条曲线上面的点多了,显示的时候就开始卡顿了,有什么办法能够让这个实时曲线图跟数据采集频率一致,并且不卡顿界面的办法? ![图片说明]...
  • 1、在使用C#做窗体设计的时候怎样通过按钮点击批量读取指定路径下的文件夹里面的文件,通过文件名中的关键字,例如“c_gls_LAI300-LAI_202004300000_CUSTOM_PROBAV_V1.0.1.tiff ”中的20200430这个日期关键字来...
  • 点击按钮跳转至form2中,在form2中写上向数据库添加的数据,点击确认添加后如何实现向数据库新增一条数据的同时在form1中的datagridview 就显示新增的这条数据(现在是form1已经读取了数据库可以显示,但是新增的...
  • 本文总结如何在.Net WinForm和.Net ...1.使用asp.net将图片上传并存入SQL Server中,然后从SQL Server中读取并显示出来: 1)上传并存入SQL Server 数据库结构 create table test { id identity(1,1), ...
  • 在串口接收到一组一组的横纵坐标值,想把每一组横纵坐标分开使用,在两个textbox控件中分别显示横纵坐标。但是发现没有实时更新都是只是串口接收到的第一组数据![图片说明]...
  • sql server存储图片

    2010-10-19 11:00:00
    本文总结如何在.Net WinForm和.Net ...1.使用asp.net将图片上传并存入SQL Server中,然后从SQL Server中读取并显示出来: 1)上传并存入SQL Server 数据库结构 create table test { id identity(1,1), FIm
  • 本文总结如何在.Net WinForm和...1.使用asp.net将图片上传并存入SQL Server中,然后从SQL Server中读取并显示出来:1)上传并存入SQL Server 数据库结构 create table test { id identity(1,1), FImage image } 相关...
  • 读写- sql -图片

    千次阅读 2006-05-15 11:22:00
    本文总结如何在.Net WinForm和...1.使用asp.net将图片上传并存入SQL Server中,然后从SQL Server中读取并显示出来:1)上传并存入SQL Server数据库结构create table test{id identity(1,1),FImage image}相关的存储过程Cr
  • 本文总结如何在.Net WinForm和.Net WebForm(asp...1.使用asp.net将图片上传并存入SQL Server中,然后从SQL Server中读取并显示出来: 1)上传并存入SQL Server 数据库结构 create table test { id identity(1,1)...
  • 本文总结如何在.Net Winform和.Net webform(asp.net)中将图片存入sqlserver中并读取显示的方法1,使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来一,上传并存入SqlServer数据库结构...
  • .NET在SQL Server中的图片存取技术 本文总结如何在.Net WinForm和...1.使用asp.net将图片上传并存入SQL Server中,然后从SQL Server中读取并显示出来:1)上传并存入SQL Server 数据库结构 create table test { id ident

空空如也

空空如也

1 2 3
收藏数 57
精华内容 22
关键字:

winform读取图片并显示