pictureBox1.Image = Image.FromFile(FilePath);

lampson123 2005-08-19 08:35:29
FilePath 图片被打开后,好像就不允许被编辑了,有什么办法改善下!!
...全文
221 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
uoyevoli 2005-08-19
  • 打赏
  • 举报
回复
晕啊,要么读到内存,然后从流创建,这样Image对象就脱离的图片文件,文件就可以被编辑了。如二楼。

要么就从文件创建,这样在Image对象被GC回收之前被调用dispose之前,文件不能被编辑。

你想怎么释放呢??既要使用Image对象(用于PictureBox显示)又要把它释放掉?!不可能的。
lampson123 2005-08-19
  • 打赏
  • 举报
回复
难道pictureBox1 或者 Image本身没提供释放的方法吗?
这样的IO读取太频繁了
Jamestan 2005-08-19
  • 打赏
  • 举报
回复
GZ
TechEye 2005-08-19
  • 打赏
  • 举报
回复
有,先把图片读入内存,再传给pictureBOx对象。

using System.IO;

FileStream fs = new FileStream("filePath", FileMode.Open, FileAccess.Read);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
MemoryStream ms = new MemoryStream(bytes);

this.pictureBox1.Image = Image.FromStream(ms);

111,116

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧