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

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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();
            }
        }
    }
}

  

posted @   Nanyingming  阅读(2228)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示