Winform 存取图片

namespace WindowsFormsApplication10
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "@.Jpg|*.jpg|@.Gif|*.gif|@.Png|*.png|All files|*.*";
            DialogResult dr = openFileDialog1.ShowDialog();

            if (dr == DialogResult.OK)
            {
                //将图片读入到文件流
                FileStream fs = new FileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read);
                Image img = System.Drawing.Bitmap.FromStream(fs);//绘制
                pictureBox1.Image = img;//指定

            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "@.Jpg|*.jpg|@.Gif|*.gif|@.Png|*.png|All files|*.*";
            DialogResult dr = openFileDialog1.ShowDialog();
            if (dr == DialogResult.OK)
            {
                //文件流
                FileStream fs = new FileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read);
                BinaryReader br = new BinaryReader(fs);//二进制读取器
                byte[] buffer =  br.ReadBytes(int.Parse(fs.Length.ToString()));

                //连接数据库
                SqlConnection conn = new SqlConnection("server=.;database=snewData;user=sa;pwd=");
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "insert into imgtable values(@buffer)";
                cmd.Parameters.Add("@buffer",buffer);
                conn.Open();
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                conn.Close();
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            //读取数据库
            SqlConnection conn = new SqlConnection("server=.;database=snewData;user=sa;pwd=");
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select *from imgtable where code=4";
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            dr.Read();
            byte[] buffer = (byte[])dr["imgs"];

            cmd.Dispose();
            conn.Close();
            //将二进制数据buffer显示为图片
            MemoryStream ms = new MemoryStream(buffer);//构建对象
            ms.Write(buffer,0,buffer.Length);//写到内存流中
            Image img = System.Drawing.Image.FromStream(ms);
            pictureBox1.Image = img;

        }
    }
}

  

时间: 2024-10-25 07:31:08

Winform 存取图片的相关文章

c#在sql中存取图片image示例

这篇文章主要介绍了c#在sql中存取图片image示例,需要的朋友可以参考下 (1)控制台应用程序下演示插入图片 复制代码 代码如下: public void InsertIMG() { //将需要存储的图片读取为数据流 FileStream fs = new FileStream(@"E:\c.jpg", FileMode.Open,FileAccess.Read); Byte[] btye2 = new byte[fs.Length]; fs.Read(btye2 , 0, Con

4.C#WinForm基础图片(显示和隐藏)

要求: 软件上有一张图片,默认是隐藏的.用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁,则显示图片. 知识点: 取当前年份,Date Time Now Year所需用到的函数 函数一: string string.Substring(int startIndex,int length)(+1重载)                从此实例检索字符串.子字符串从指定的字符位置开始且具有指定的长度          异常:              

java blob存取图片

1. 存入图片 Connection con=db.conn; PreparedStatement pstmt; //File file = upload; FileInputStream inputImage = new FileInputStream(upload); byte[] buf = new byte[inputImage.available()]; inputImage.read(buf); con.setAutoCommit(false); System.out.println

SharedPreferences详解(三)——存取图片

MainActivity如下: 1 package cc.sp; 2 3 import java.io.ByteArrayInputStream; 4 import java.io.ByteArrayOutputStream; 5 import android.os.Bundle; 6 import android.util.Base64; 7 import android.view.View; 8 import android.view.View.OnClickListener; 9 impo

C++使用ADO存取图片

 在项目中,我们需要把事故简图上传到总服务器,以便每个客户端都能下载或者查看.在网上找了找,向Server2000存储图片代码比较多,从数据库中读取图片并显示也不少,但是把图片从数据库中二进制数据转换为原图片保存在本地,就很少有C++代码了.花了大约4天时间,和师妹两个人找各种资料,终于解决了这个问题.下面就一步一步地讲一讲我们的解决方法: 一.使用数据库前的准备 我们使用ADO,是用_ConnectionPtr,_RecordsetPtr来操纵数据库的.还有一个_CommandPtr,本程

Android Sqlite存取图片及转换缩略图

本来打算用数据库sqlite存取图片(图片都是相机拍摄的原图),结果导致存入和读取的时候会消耗巨大内存,尤其是从数据库取图片时.所以准备存SDCard代替,但还是记录下如何用数据库存取图片以及转换成缩略图. 表结构一个String和一个Blob.bitmap不能直接存数据库,用BLOB (binary large object)二进制大对象. String sql = "create table team (name varchar(20) primary key, image blob);&q

winform实现图片的滑动效果

使用winform实现图片的滑动效果(类似网站首页图片滑动切换效果),结果实现了,但是效果其实不是很理想.也许有更好的方法.         Timer timerSlide = null; //当前初始化的PictureBox PictureBox box = null; //当前PictureBox PictureBox curBox = null; //下一个PictureBox PictureBox nxtBox = null; //前进方向 string direction = "&q

springmvc结合base64存取图片到mysql

简介: 1.jsp通过MultipartFile上传图片到后台 2.后台把上传的图片通过base64转换成字符串存到mysql 3.从mysql读取图片字符串,通过base64反转成byte数组,再显示到jsp 1.mysql表结构 2.影射对象 package net.spring.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; impor

ASP.Net数据库如何存取图片

当我们有大量的图片或者图片比较大时,我们常规的做法可能是保存图片路径,但是也不排除需要将图片直接存放到数据库的情况,此时就需要保存图片到数据库了.这篇文章我会向大家介绍: 如何通过FileUpLoad控件将图片保存到数据库 如何通过Button控件从数据库导出图片 具体步骤如下: 保存图片到数据库 第一步:首先在数据库创建一个名为"Images"的表,代码如下: CREATE TABLE Images ( Roll_no varchar(12) primary key, Name_Fi