将一个图片加载并显示在picturebox上,一般情况下得到预期的结果,然而对于同一个filepath,
若连续两次调用下面的语句系统将会报错(如用户多次选择加载同一张图片使用Image.FromFile配合PictureBox来加载并显示图片,
但使用Image.FromFile会出现题,就是加载完文件后不自动释放,
导致再次操作被关联文件时候出现类似“文件xxx正由另一进程使用,因此该进程无法访问该文件。”的错误,因此当要对一个文件进行多次操作时,
最好不要使用Image.FromFile 而使用Image.FromStream。
1、使用Image.FromFile 
方法如下:
pictureBox1.Image = Image.FromFile(filepath);
2、使用Image.FromStream
方法如下:
using (FileStream image = new FileStream(filepath, FileMode.Open))
{
 pictureBox1.Image = Image.FromStream(image);
}
采用Image.FromStream代替Image.FromFile可以解决上述问题
注意:Image.FromStream加载jpg,png等格式的图片可以,但是如果是gif的动态图就会有问题,
如下:
解决办法:就是在使用流的时候,不进行释放或者关闭即可,
如下
FileStream image = new FileStream(filepath, FileMode.Open);
pictureBox1.Image = Image.FromStream(image);

Image.FromStream与Image.FromFile使用区别相关推荐

  1. Image.FromStream与Image.FromFile

    在使用vs进行开发时,我们有时会使用Image.FromFile配合PictureBox来加载并显示图片,感觉挺方便,但是使用Image.FromFile有个小问题,加载完文件后不自动释放,导致再次操 ...

  2. android 关于Uri.parse和uri.fromFile的区别

    2019独角兽企业重金招聘Python工程师标准>>> Uri.parse需要有协议,如file://等 比如下面2句话就是等价的 Uri.parse("file://&q ...

  3. image.fromstream 参数无效原因分析及解决

    1.问题 最近由于后端接口更改,请求验证码会抛异常,具体就是 image.fromstream(stream)函数里, using (var streamSub = new MemoryStream( ...

  4. 【大数据开发】scala——tuple、list(含高阶方法)、wordcount案例、set、并行处理数据和sorted、sortBy、sortWith的区别

    文章目录 一.元组 1.1元组的定义.遍历 1.2元组的拉链.解链 二.list 2.1空list.list初始化.list遍历3种方式 2.2list的追加.拼接操作 2.3list的基本操作 2. ...

  5. PCM和WAV音频格式的区别,以及python自动转换

    目录 WAV和PCM的简单介绍 PCM WAV 关于音频的基础知识 声道数channels 采样位数bits 采样频率sample_rate 进阶内容 互相转换代码 WAV和PCM的简单介绍 PCM ...

  6. 什么是反应式编程(超详细说明),反应式编程和命令式编程的区别。如何使用Spring中的Reactor。Reactor中常用的操作。Mono和Flux。

    文章目录 一.反应式编程初探 什么是反应式编程 为什么需要反应式编程? 反应式编程的规范 二.上手反应式编程(使用Spring中的Reactor) 对比反应式编程和命令式编程代码 添加相应依赖 Mon ...

  7. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  8. C++ 笔记(28)— C++ 中 NULL和 nullptr 的区别

    最近看公司代码的时候发现在判断指针是否为空的时候,有的时候用的是 NULL, 有的时候用的是 nullptr 感觉很奇怪,好奇心驱使我查了下两者的区别,发现还是有很多细节需要学习的. 1. NULL ...

  9. gcc 和 g++ 的联系和区别,使用 gcc 编译 c++

    GCC 编译器已经为我们提供了调用它的接口,对于 C 语言或者 C++ 程序,可以通过执行 gcc 或者 g++ 指令来调用 GCC 编译器. 实际使用中我们更习惯使用 gcc 指令编译 C 语言程序 ...

最新文章

  1. 动态网页项目(Dynamic Web Project)2.5和3.0版本的差异
  2. matlab验证Ross随机过程(第二版)P19页的结果
  3. Android抽屉(SlidingDrawer --类似android通知栏下拉效果)
  4. html 右边是iframe 左右结构_站点的内链优化和一些常用的结构优化方法
  5. python--DenyHttp项目(1)--socket编程:客户端与服务器端
  6. Springboot初始化过程(1.5.9.RELEASE)(一)
  7. MySQL总结4_多表查询
  8. 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第七章 实验传统的兴起
  9. hpsocket实现HTTP通信功能
  10. 黑马 Docker 笔记
  11. 用logisim实现串行的全加器
  12. Java Web实训项目:西蒙购物网1
  13. 【STM32H7】第30章 ThreadX GUIX炫酷实用的时钟表盘设计,结合硬件RTC实时时钟
  14. 16.Linux环境搭建虚拟网络
  15. 单片机中常说的 1T 和 12T 的意思
  16. 2018-09-11-二手车交易平台系统
  17. scratch四级考纲
  18. python九宫格拼图,Python生成九宫格图片
  19. 仿热血江湖游戏NpcClass_自动攻击事件 刀反伤
  20. 【CSS】vertical-align属性

热门文章

  1. 《庄子》故事(1) 逍遥游 之 尧让天下
  2. java集合听课笔记之hashMap的底层数据结构
  3. arcgis怎么生成一个html,arcgis desktop 10.x怎么生成1:100万、1:50万等标准图幅经纬网格...
  4. 第7批候选!高工智能汽车金球奖入围年度产品/方案公示
  5. DOM中的动态NodeList与静态NodeList
  6. 小心了!通过一张照片我能找到你拍照的精确位置!
  7. 信息论知识——基础梳理
  8. php毕业设计 基于php+mysql旅游景区景点购票系统毕业设计开题报告功能参考
  9. 揭开程序员装 13 行为的面具
  10. H264_Lite高清视频编码器/解码器IP核(FPGA/ASIC通用)