我制作了一个小型监控工具,用于记录网络摄像头的图像。为了保持数据量的流畅,而不是录制视频,我只需每三秒钟保存三张快照,然后每隔一分钟重复一次。
我在我的表单中添加了两个计时器,timerMin的间隔为60,000,timer3Sec的间隔为3000,添加了事件处理程序并在表单加载时启动分钟计时器:
timerMin.Tick += timerMin_Tick;
timer3Sec.Tick += timer3Sec_Tick;
timerMin.Start();
然后我从分钟嘀嗒事件中开始3秒计时器:
private void timerMin_Tick(object sender, EventArgs e)
{
timer3Sec.Start();
}
在3秒计时器的勾选事件中,我保存了快照并增加了一个计数器,所以我知道保存了3个快照:
private void timer3Sec_Tick(object sender, EventArgs e)
{
SaveSnap((Bitmap)pictureBox1.BackgroundImage);
Ticks++;
if (Ticks > 2)
{
timer3Sec.Stop();
Ticks = 0;
}
}
“Ticks”是一个公共int,初始化为0.我希望这会导致每分钟三个快照。唉,我每分钟只得到一个。我的思维在哪里出错?
答案 0 :(得分:1)
确保在int y[1000];
//Generation of array
void __fastcall TForm1::Button2Click(TObject *Sender){
Memo2->Clear();
for (int i=0;i<100;i++){
y[i]=rand()%1000;
Memo2->Lines->Add(IntToStr(y[i]));
}
}
方法中生成不同的文件名。
警惕DateTime.ToShortTimeString,它只会下降到几分钟。 ; - )