我正在尝试构建一个可以将用户的照片拍摄3次并将这些照片保存在桌面上的程序我的问题是它只保存图片而不是拍照3次。
private void Form1_Load(object sender, EventArgs e)
{
bool useCam = true;
if (!useCam)
measureImage(null);
else
{
try
{
camera = new Capture();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
return;
}
Application.Idle += viewImage;
captureProcess = true;
}
}
这是捕获代码......
private void btnCapture_Click(object sender, EventArgs e)
{
for (int ctr = 0; ctr < 3; ctr++)
{
if (captureProcess == true)
{
string data="";
Application.Idle -= viewImage;
SaveFileDialog dlg = new SaveFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
img.ToBitmap().Save(@"C:\\Users\\Julie\\Desktop\\" + ctr + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
data = dlg.FileName + ".bmp";
MessageBox.Show(data);
measureImage(data);
Form1_Load(sender, e);
}
else
{
Application.Exit();
}
}
}
captureProcess = false;
}
答案 0 :(得分:0)
假定captureProcess
是窗口范围内的变量,您在第一个for
循环中将其设置为false,因此由于if(captureProcess == true)
检查,第2个和第3个永远不会执行