FileStream 打开图片的好处是读取图片到内存,保存为byte[],然后转为bitmap显示。这样被打开的图片资源不被占用。可以进行图片删除操作。

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.IO;namespace TransformTest
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog openFileDialog = new OpenFileDialog();openFileDialog.Multiselect = false;openFileDialog.Filter = "Image Files (*.jpg;*.png;*.bmp;*gif;*.jpeg)|*.jpg;*.png;*.bmp;*.gif;*.jpeg";if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK){FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open, FileAccess.Read);BinaryReader br = new BinaryReader(fs);byte[] imageData = new byte[br.BaseStream.Length];int nRet = int.Parse(br.BaseStream.Length.ToString());imageData = br.ReadBytes(nRet);br.Close();fs.Close();Bitmap bitmapSource = BytesToBitmap(imageData);pictureBox1.Image = bitmapSource;Bitmap bitmap = KnockOutGzf(bitmapSource);}}/// <summary>/// 使用文件流打开文件转/// </summary>/// <param name="fileName"></param>/// <returns></returns>private Bitmap GetBitmap(string fileName) {FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);BinaryReader br = new BinaryReader(fs);byte[] imageData = new byte[br.BaseStream.Length];int nRet = int.Parse(br.BaseStream.Length.ToString());imageData = br.ReadBytes(nRet);br.Close();fs.Close();return BytesToBitmap(imageData);}/// <summary>/// 去除白色背景色/// </summary>/// <param name="bitmapProxy"></param>/// <returns></returns>public System.Drawing.Bitmap KnockOutGzf(Bitmap bitmapProxy){for (int i = 0; i < bitmapProxy.Width; i++){for (int j = 0; j < bitmapProxy.Height; j++){System.Drawing.Color c = bitmapProxy.GetPixel(i, j);if (!(c.R < 240 || c.G < 240 || c.B < 240)){bitmapProxy.SetPixel(i, j, System.Drawing.Color.Transparent);}}}return bitmapProxy;}/// <summary>/// byte[]数组转Bitmap/// </summary>/// <param name="Bytes"></param>/// <returns></returns>private System.Drawing.Bitmap BytesToBitmap(byte[] Bytes){MemoryStream stream = null;try{stream = new MemoryStream(Bytes);return new System.Drawing.Bitmap((System.Drawing.Image)new System.Drawing.Bitmap(stream));}catch (ArgumentNullException ex){throw ex;}catch (ArgumentException ex){throw ex;}finally{stream.Close();}}}
}

项目代码地址,资源设置为0C币了。可以去下载。1.c#使用FileStream打开图片并显示。2.去除图片白色的背景色。-桌面系统文档类资源-CSDN下载

c# 使用FileStream 打开图片并显示相关推荐

  1. 使用Python调用opencv学习(-)打开图片,显示图片

    使用Python调用opencv学习(-)打开图片,显示图片 第一步是读取图片是用cv2.imread 第一个参数是图片的路径可以是绝对路径也可以是相对路径.第二个参数代表读取图片的格式 cv2.IM ...

  2. PyCharm下利用pyqt对话框打开图片,显示

    PyCharm下利用pyqt对话框打开图片,显示 PyCharm下利用pyqt对话框打开图片显示 1安装PyCharm Python PyQt5 Pycharm配置Pyqt 1添加Qtdesigner ...

  3. QT5打开图片并显示

    目标:使用QLabel控件显示图片 步骤:在UI中放置一个 QLabel标签,名为label 方法一:打开一个对话框,自由选择图片路径 QString filename; filename=QFile ...

  4. axure9 html文件使用ie打开图片无法显示_win7系统html文件如何打开 win7系统html文件打开方法【介绍】...

    html其实是超文本标记语言,现在很多网页都是html的格式,而所谓的html文件是一种超文本文件,其中超文本可以使图片或者音乐的非文字元素,使用起来十分广泛,不过最近有有位win7系统用户不知道ht ...

  5. android调用系统相册打开图片不显示,【报Bug】打开相册,不显示图片,选中图片后,app会崩溃...

    产品分类: uniapp/App PC开发环境操作系统: Mac PC开发环境操作系统版本号: 10 HBuilderX类型: 正式 HBuilderX版本号: 2.8.8 手机系统: Android ...

  6. 通过PIL打开图片并显示

    输入: from PIL import Image import matplotlib.pyplot as plt pil_im = Image.open('1.jpg') #pil_im = Ima ...

  7. OpenCVQt学习之一——打开图片文件并显示

    摸索了一段时间了,期间杂七杂八干了很多零活,花在这上面的时间不是太多,现在回头把资料简单整理. OpenCV和Qt学习在入门阶段最大的困惑时版本不统一所带来的影响,Qt稍微好一点,OpenCV目前的大 ...

  8. Photoshop 2020 for Mac 打开图片黑屏不显示的解决方法

    Adobe Photoshop 2020 21.2Adobe Photoshop 2020 for Mac(PS 2020)最强大的图形设计软件下载 Photoshop 2020 Mac版下载安装激活 ...

  9. Win7/windows8/win 10系统下Photoshop不能直接拖拽打开图片的解决办法

    我们知道Adobe Photoshop打开图片的方式有很多种,其中有一种是我们经常用到的,那就是直接从资源管理器或者其他地方中直接把图片通过拖拽的方式拖到PS窗口中打开,在Win10系统中,使用PS的 ...

最新文章

  1. 深度学习最常用的10个激活函数
  2. 11 Java程序员面试宝典视频课程之网络编程
  3. 第14章 结构和其他数据形式 14.12 typedef 简介
  4. 一些没啥用的大数据组件以及理由(持续更新中)+2020的Gartner曲线
  5. Build 2021 :正式发布.NET 6 Preview4
  6. java栈最小值的实现,关于java:算法图解如何找出栈中的最小值
  7. 定时器计数器工作方式
  8. 如何学习财务数据分析,有哪些好工具?
  9. 牛客网刷题(Hw题库)
  10. 系统默认声卡驱动没有均衡器的解决方法
  11. PLC的当前状态,电气工程师建议看完,进阶上位机编程
  12. 8 Flask mega-tutorial 第8章 关注 Followers
  13. windows的Alt键一直处于按下状态,解决,亲测有用
  14. DataBinding找不到符号,import xxx.xxx.ActivityxxxBindingImpl
  15. python抓取视频违法吗,科学网—【python爬虫】抓取B站视频相关信息(一) - 管金昱的博文...
  16. VMware ESXi 8.0 macOS Unlocker OEM BIOS (标准版和厂商定制版)
  17. 万年历显示程序C语言,C语言万年历的源程序
  18. python写的网站如何发布_如何发布python程序
  19. php源码首页幻灯片显示错误,织梦DEDE首页幻灯片不显示怎么办
  20. [原创]对于运行ASP.NET程序时,提示:无法启动程序“http://localhost:3532/Default.aspx”。的解决办法...

热门文章

  1. java 使用反射动态赋值
  2. 记一次spark任务调优过程
  3. esp怎么从服务器接受信息,esp8266连接远程服务器收信息
  4. SNMP 协议解析(一)
  5. syslog、logger、kmesg
  6. Google的安全搜索秘籍
  7. xshell操作linux命令,xshell指令操作(基础)
  8. 科研项目研究报告文本内容格式
  9. 深度强化学习-Double DQN算法原理与代码
  10. 2021年起重机械指挥考试题及起重机械指挥模拟考试题