private void SetAoiTop(Int32 s32Value) { uEye.Defines.Status statusRet; System.Drawing.Rectangle rect; uEye.Types.Range <Int32> rangePosX, rangePosY; statusRet = m_Camera.Size.AOI.GetPosRange(out rangePosX, out rangePosY); while ((s32Value % rangePosY.Increment) != 0) { --s32Value; } statusRet = m_Camera.Size.AOI.Get(out rect); rect.Y = s32Value; numericUpDownAoiTop.Value = s32Value; trackBarAoiTop.Value = s32Value; statusRet = m_Camera.Size.AOI.Set(rect); // update aoi height uEye.Types.Range <Int32> rangeWidth, rangeHeight; statusRet = m_Camera.Size.AOI.GetSizeRange(out rangeWidth, out rangeHeight); trackBarAoiHeight.Maximum = rangeHeight.Maximum; numericUpDownAoiHeight.Maximum = trackBarAoiHeight.Maximum; labelAoiHeightMax.Text = trackBarAoiHeight.Maximum.ToString(); // inform our main form AOIChanged.Invoke(this, EventArgs.Empty); }
private void SetAoiHeight(Int32 s32Value) { uEye.Defines.Status statusRet; System.Drawing.Rectangle rect; uEye.Types.Range <Int32> rangeWidth, rangeHeight; statusRet = m_Camera.Size.AOI.GetPosRange(out rangeWidth, out rangeHeight); while ((s32Value % rangeHeight.Increment) != 0) { --s32Value; } statusRet = m_Camera.Size.AOI.Get(out rect); rect.Height = s32Value; numericUpDownAoiHeight.Value = s32Value; trackBarAoiHeight.Value = s32Value; Boolean isLive; statusRet = m_Camera.Acquisition.HasStarted(out isLive); if (isLive) { statusRet = m_Camera.Acquisition.Stop(uEye.Defines.DeviceParameter.Wait); } statusRet = m_Camera.Size.AOI.Set(rect); // update top aoi numericUpDownAoiTop.Minimum = 0; numericUpDownAoiTop.Maximum = numericUpDownAoiTop.Value + trackBarAoiHeight.Maximum - trackBarAoiHeight.Value; trackBarAoiTop.SetRange((int)numericUpDownAoiTop.Minimum, (int)numericUpDownAoiTop.Maximum); labelAoiTopMin.Text = trackBarAoiTop.Minimum.ToString(); labelAoiTopMax.Text = trackBarAoiTop.Maximum.ToString(); // memory reallocation int[] idList; m_Camera.Memory.GetList(out idList); statusRet = MemoryHelper.ClearSequence(m_Camera); statusRet = MemoryHelper.FreeImageMems(m_Camera); statusRet = MemoryHelper.AllocImageMems(m_Camera, idList.Count()); statusRet = MemoryHelper.InitSequence(m_Camera); if (isLive) { statusRet = m_Camera.Acquisition.Capture(); } // inform our main form AOIChanged.Invoke(this, EventArgs.Empty); }
private void comboBoxFormatSubsamplingVertical_SelectedIndexChanged(object sender, EventArgs e) { if (comboBoxFormatSubsamplingVertical.Focused) { uEye.Defines.Status statusRet; Boolean isLive; statusRet = m_Camera.Acquisition.HasStarted(out isLive); if (isLive) { statusRet = m_Camera.Acquisition.Stop(uEye.Defines.DeviceParameter.Wait); } uEye.Defines.SubsamplingMode mode = GetSubsamplingMode(); statusRet = m_Camera.Size.Subsampling.Set(mode); // memory reallocation int[] idList; m_Camera.Memory.GetList(out idList); statusRet = MemoryHelper.ClearSequence(m_Camera); statusRet = MemoryHelper.FreeImageMems(m_Camera); statusRet = MemoryHelper.AllocImageMems(m_Camera, idList.Count()); statusRet = MemoryHelper.InitSequence(m_Camera); if (isLive) { statusRet = m_Camera.Acquisition.Capture(); } updateHorizontalSubsampling(); updateVerticalBinning(); updateHorizontalBinning(); // inform our main form AOIChanged.Invoke(this, EventArgs.Empty); } }