示例#1
0
        /// <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);
        }
示例#2
0
 /// <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);
     }
 }