/// <summary> /// 将图像压入队列 /// </summary> /// <param name="image"></param> /// <param name="imageName"></param> protected void PushImageToQueue(Bitmap image, string imageName) { if (myImageQueue.Count > ImageQueueMaxCount) { return; } //检查泵机是否启动 if (IsTimerStart == false) { saveImageTimer.Start(); IsTimerStart = true; } SaveImageStr saveImageStr = new SaveImageStr(); saveImageStr.image = image; saveImageStr.imageName = imageName; myImageQueue.Enqueue(saveImageStr); }
/// <summary> /// 存图泵机 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void SaveImagePump(object sender, System.Timers.ElapsedEventArgs e) { if (myImageQueue.Count == 0 && successionEmptyCount >= 600) { successionEmptyCount = 0; saveImageTimer.Stop(); IsTimerStart = false; } else if (myImageQueue.Count == 0) { successionEmptyCount++; } else { SaveImageStr saveImageStr = myImageQueue.Dequeue(); SavaimageMethod(saveImageStr.image, saveImageStr.imageName); } }