private void Form1_Load(object senderr, EventArgs ee)
{
//serial.Open();
tracker.NewObjectTracked += delegate(ObjectTrackedArgs args)
{
ObjectTracked obj = args.Object;
lbHistory.Items.Add("Tacking: " + obj.ID.ToString() + " (" + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString() + ")");
lbHistory.SetSelected(lbHistory.Items.Count - 1, true);
lbHistory.SetSelected(lbHistory.Items.Count - 1, false);
trackingobjs.AddLast(new AnimationHandeler(obj));
//"04/12/2010 03:14:46"
};
tracker.UpdateTrackedObject += delegate(ObjectTrackedArgs args)
{
if (args.Object.LifeTime.TotalMilliseconds > 500 && args.Object.LifeTime.TotalMilliseconds < 675)
{
}
return;
Bitmap img = new Bitmap(HiResFrame);
foreach(AnimationHandeler hand in trackingobjs)
if(hand.Obj == args.Object)
{
hand.bitmaps.AddLast(GetImage(ref img, args.Object));
break;
}
};
tracker.LostTrackedObject += delegate(ObjectTrackedArgs args)
{
ObjectTracked obj = args.Object;
lbHistory.Items.Add("Lost: " + obj.ID.ToString() + " (" + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString() + ")");
lbHistory.SetSelected(lbHistory.Items.Count - 1, true);
lbHistory.SetSelected(lbHistory.Items.Count - 1, false);
bool removeAndReturn = false;
if (!cbSave.Checked)
{
trackingobjs.Remove(new AnimationHandeler(obj));
removeAndReturn = true;
}
TimeSpan ts = (DateTime.Now - obj.LastSeen) - obj.LifeTime;
int ms = (int)Math.Abs(ts.TotalMilliseconds);
this.Text = ms.ToString();
if (ms < 200) // this must be a mistake
{
trackingobjs.Remove(new AnimationHandeler(obj));
removeAndReturn = true;
}
foreach (AnimationHandeler hand in trackingobjs)
if (hand.Obj == args.Object)
{
Thread thrd = new Thread(delegate()
{
SaveImageThread(hand, removeAndReturn);
});
thrd.Start();
//SaveImageThread(hand, removeAndReturn);
break;
}
};
//detector.Difference = 20;
}