add に問題がありますImage
。1 回追加できますが、2 つ以上追加すると、エラーが追加されます。
別のプロセスで使用されているため、プロセスはファイル 'C:\Users\Administrator\AppData\Roaming\afinos\CaptureImage\CapImage.Jpg' にアクセスできません。次を使用します。
public static void SaveImageCapture(string imgPath, BitmapSource bitmap)
{
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bitmap));
encoder.QualityLevel = 100;
using (FileStream fstream = new FileStream(imgPath, FileMode.Create))
{
encoder.Save(fstream);
fstream.Close();
fstream.Dispose();
}
}
//Call to use SaveImageCpture
private void btnCapture_Click(object sender, RoutedEventArgs e)
{
Dispatcher.Invoke(new Action(delegate()
{
string path = "afinos\\" + "CaptureImage\\" + "CapImage.Jpg";
if (Directory.Exists(path) == false)
{
Directory.CreateDirectory(path);
}
Capture_Helper.SaveImageCapture(pathapp + "\\" + path, (BitmapSource)PicCapture.Source);
ChangeAvatar_vcard.Source = PicCapture.Source;
txtPath.Text = pathapp + "\\" + path;
}));
}