예제 #1
0
 private void button1_Click(object sender, EventArgs e)
 {
     lock (locker)
     {
         if (phaseImage == null)
         {
             return;
         }
         string path = Path.Combine(this.richTextBox1.Text, SaveCount.ToString() + "_" + DateTime.UtcNow.ToString().Replace('.', '_').Replace(':', '_').Replace(' ', '_'));
         if (checkBox2.Checked && tab.SelectedTab == tabPage3)
         {
             StepPhaseImage pi = phaseImage as StepPhaseImage;
             if (pi != null)
             {
                 savingTask = Task.Factory.StartNew(pi.FullSave, path);
             }
         }
         else
         {
             savingTask = Task.Factory.StartNew(phaseImage.Save, path);
         }
         phaseImage = null;
         //phaseImage.Save(path);
         SaveCount++;
     }
 }
예제 #2
0
        public void UpdateImage(PhaseImage phaseImage)
        {
            lock (locker)
            {
                this.phaseImage = phaseImage;
                imagePlotted    = false;

                /*
                 * if (phaseImage as StepPhaseImage != null)
                 * {
                 *  Image<Rgb, byte> data = phaseImage.Matrix.ToImage<Rgb, byte>();
                 *  bitmap = new Bitmap(data.Width, data.Height);
                 *  for (int w = 0; w < data.Width; w++)
                 *  {
                 *      for (int h = 0; h < data.Height; h++)
                 *      {
                 *          int r = (int)data.Data[h, w, 0];
                 *          int g = (int)data.Data[h, w, 1];
                 *          int b = (int)data.Data[h, w, 2];
                 *          bitmap.SetPixel(w, h, Color.FromArgb(r, g, b));
                 *      }
                 *  }
                 * }
                 * else*/
                //phaseImage.Matrix.Dispose();
            }
        }