关于图片调用提示占用

GGGGGSole 2017-03-19 01:00:25
大牛们,如题,我设置了个时钟,一遍又一遍的让image控件调用图片,但是它提示我已经被占用,“”正由另一进程使用,因此该进程无法访问此文件。“
FileStream dStream = new FileStream(Starty, FileMode.Create, FileAccess.ReadWrite);

Outline.SaveImage(bmp, Outline.ImageFormat.PNG, dStream);
dStream.Close();
dStream.Dispose();
MainWindow ms = new MainWindow();
ms.imageb4.ImageSource = new BitmapImage(new Uri(Starty));

怎么解决,我是学生,之前没接触过wpf。网上找了都没有
...全文
314 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 GGGGGSole 的回复:
谢谢大神,这个已经解决了,现在就是前边同学已经定义的二维数组来显示灰度图像,但是只是0-255,只是从黑到白,现在又要显示彩色图像,怎么办
不清楚这个,你可以去网上查资料。
GGGGGSole 2017-03-22
  • 打赏
  • 举报
回复
谢谢大神,这个已经解决了,现在就是前边同学已经定义的二维数组来显示灰度图像,但是只是0-255,只是从黑到白,现在又要显示彩色图像,怎么办
  • 打赏
  • 举报
回复
BitmapImage的资源是不会由Image控件释放的。改为下边的代码:

BitmapImage image = new BitmapImage();
image.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
image.UriSource = new Uri(filePath);
image.EndInit();
imgThumbnail.Source = image;  // 路径赋值
GGGGGSole 2017-03-20
  • 打赏
  • 举报
回复
还是不行,资源占用问题,但我不知道怎么解决,好像wpf没有dispose,
Veary 2017-03-20
  • 打赏
  • 举报
回复


关于图片的我没有仔细探查过,初步判断是着两行代码的问题
MainWindow ms = new MainWindow();
ms.imageb4.ImageSource = new BitmapImage(new Uri(Starty));

尝试使用以下代码替换上边两行代码
this.Dispatcher.Invoke(new Action(() =>
{
    MainWindow ms = new MainWindow();
    ms.imageb4.ImageSource = new BitmapImage(new Uri(Starty));
}));

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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