访问paint时发生共享冲突

时间:2016-10-03 05:46:38

标签: c# wpf paint

我有一张图片。然后我在我创建的图像查看器中打开它。现在我想编辑这个图像。所以我在油漆区打开这个图像,当我点击保存按钮后更改它给我。访问时发生了一些共享冲突错误。

我在绘画中打开图像之前从图像查看器中删除文件名。

这是我的代码..

private void btnEditImage_Click(object sender, RoutedEventArgs e)
        {
            if (File.Exists(Helper.DefaultPath + listImages[count].Path))
            {
                SetNullImage();
                string editPath = Helper.DefaultPath + listImages[count].Path;
                if (File.Exists(editPath))
                {
                    Process my = new Process();
                    my.StartInfo.FileName = "mspaint.exe";
                    my.StartInfo.Arguments = "\"" + editPath + "\"";
                    my.StartInfo.CreateNoWindow = true;
                    my.EnableRaisingEvents = true;
                    my.Exited += new EventHandler(myProcess_Exited);
                    my.Start();
                }
            }
        }
        private void myProcess_Exited(object sender, System.EventArgs e)
        {
            Dispatcher.Invoke(new Action(() =>
            {
                SetImage();
            }));
        }

见图片

在图像查看器中打开: Open In Image viewer

感谢...

在图像中进行更改并单击保存时出错: Error when make changes in image and click on save

1 个答案:

答案 0 :(得分:0)

在您致电SetImage()方法时,请确保您使用的是Image.FromFile()方法。如果您使用那个,请使用Bellow代码而不是

  private Bitmap SetImage(){
      pictureBox1.Image = GetImageFromPath(ImagePath)
  }

  private Bitmap GetImageFromPath(string Path)
  {
        using (StreamReader streamReader = new StreamReader(Path))
        {
            using (Bitmap tmpBitmap = (Bitmap)Bitmap.FromStream(streamReader.BaseStream))
            {
                return tmpBitmap;
            }
        }
   }