码迷,mamicode.com
首页 > Windows程序 > 详细

C#读取图片流保存到文件,再读取流文件,把图片再显示出来

时间:2021-01-06 12:23:37      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:for   ext   bin   null   ini   close   init   filedia   abc   

 

 

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

namespace 将图片保存文件流
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "(*.jpg)|*.jpg";
          
              string fileName = ofd.FileName;
            //if (ofd.ShowDialog() == DialogResult.OK )// && !string.IsNullOrEmpty(fileName) ) 
            //{
            //    FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);
            //    byte[] imageByte =  new byte[fs.Length];
            //    BinaryReader br = new BinaryReader(fs);
            //    imageByte = br.ReadBytes(Convert.ToInt32(fs.Length));

            //    for (int i = 0; i < imageByte.Length; i++)
            //    {
            //       sb.Append(imageByte[i].ToString());
            //    }

            //    textBox1.Text = sb.ToString();

            //}

              if (ofd.ShowDialog() == DialogResult.OK)// && !string.IsNullOrEmpty(fileName) ) 
              {
                  FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.ReadWrite);
                  

                  FileStream fSource = new FileStream(@"D:\ABC.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                  BinaryWriter bw = new BinaryWriter(fSource);

                  byte[] imageByte = new byte[fs.Length];
                  BinaryReader br = new BinaryReader(fs);
                  imageByte = br.ReadBytes(Convert.ToInt32(fs.Length));

                  bw.Write(imageByte); 
                  int length = Convert.ToInt32(imageByte.Length);
                  //for (int i = 0; i < imageByte.Length; i++)
                  //{
                  //    sb.Append(imageByte[i].ToString());
                  //}
                  fs.Close();
                  //textBox1.Text = sb.ToString();
                  bw.Close();
                
                  fSource.Close();

              }


           

           // FileStream fs = new FileStream();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "(*.dat)|*.dat";
            if (ofd.ShowDialog() == DialogResult.OK) {

            
                FileStream fs = new FileStream(ofd.FileName, FileMode.Open,FileAccess.Read);
                byte[] imageByte =new byte[ofd.FileName.Length];
                BinaryReader br = new BinaryReader(fs);
                imageByte = br.ReadBytes(Convert.ToInt32(fs.Length));

                MemoryStream ms = new MemoryStream(imageByte);
                Bitmap bm = new Bitmap(ms);

                pictureBox1.Image = bm;
                ms.Close();
                fs.Close();
                fs.Dispose();
            }
        }
    }
}

  

技术图片

C#读取图片流保存到文件,再读取流文件,把图片再显示出来

标签:for   ext   bin   null   ini   close   init   filedia   abc   

原文地址:https://www.cnblogs.com/nymz/p/14226605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!