我正在拍摄图像并处理它们。然后我试图将位图(这些图像)保存在一个文件中。
例如
- 我拍摄“沙漠”和“花卉”图像,并异步处理它们 4 次。
然后我调用(await) 8 次 saveAsync() 方法来保存它们。
- 发生的情况是desert_modified 和flower_modified、flower_modified(1)、flower_modified(2)、flower_modified(3) 被保存。
- 没有图像 Desert_modified(1)、desert_modified(2)、desert_modified(3)。
将要拯救他们的方法永远不会完成。有什么建议吗?
async private Task saveAsync(Bitmap bitmap, String path, String fileName, int requestNo)
{
int temp = 1;
String pth = path;
String fileName1 = fileName;
try
{
await Task.Run(() =>
{
if (File.Exists(pth))
{
String[] array = fileName1.Split('.');
String modifiedFileName = array[0] + "_modified" + "(" + temp + ")." + array[1];
pth = fullPath.Replace(fileName1, modifiedFileName);
while (File.Exists(pth))
{
temp++;
//array = fileName.Split('.');
modifiedFileName = array[0] + "_modified" + "(" + temp + ")." + array[1];
pth = fullPath.Replace(fileName1, modifiedFileName);
}
bitmap.Save(@pth);
}
else
{
bitmap.Save(@pth);
}
bitmap.Dispose();
});
}
catch (Exception ex)
{
outputTextBox2.Text += ex.InnerException.Message;
}
}