private void UpdateImageData(IBaseData objIBaseData) { try { GX_VALID_BIT_LIST emValidBits = GX_VALID_BIT_LIST.GX_BIT_0_7; if (null != objIBaseData) { emValidBits = DahengHelper.GetBestValidBit(objIBaseData.GetPixelFormat()); if (GX_FRAME_STATUS_LIST.GX_FRAME_STATUS_SUCCESS == objIBaseData.GetStatus()) { if (isColor) { IntPtr buffer = objIBaseData.ConvertToRGB24(emValidBits, GX_BAYER_CONVERT_TYPE_LIST.GX_RAW2RGB_NEIGHBOUR, true); FillRGB24(buffer); } else { IntPtr buffer = objIBaseData.GetBuffer(); FillY800(buffer); } } } } catch (Exception) { } waitHandle.Set(); }
private void UpdateImageData(IBaseData objIBaseData) { try { GX_VALID_BIT_LIST emValidBits = GX_VALID_BIT_LIST.GX_BIT_0_7; if (null != objIBaseData) { emValidBits = DahengHelper.GetBestValidBit(objIBaseData.GetPixelFormat()); if (GX_FRAME_STATUS_LIST.GX_FRAME_STATUS_SUCCESS == objIBaseData.GetStatus()) { if (isColor) { if (currentStreamFormat == DahengStreamFormat.RGB) { IntPtr buffer = objIBaseData.ConvertToRGB24(emValidBits, GX_BAYER_CONVERT_TYPE_LIST.GX_RAW2RGB_NEIGHBOUR, true); FillRGB24(buffer); } else if (currentStreamFormat == DahengStreamFormat.Raw) { IntPtr bufferRaw = objIBaseData.ConvertToRaw8(emValidBits); FillY800(bufferRaw); } } else { IntPtr buffer = objIBaseData.GetBuffer(); FillY800(buffer); //IntPtr pBufferMono = IntPtr.Zero; //if (IsPixelFormat8(objIBaseData.GetPixelFormat())) //{ // pBufferMono = objIBaseData.GetBuffer(); //} //else //{ // pBufferMono = objIBaseData.ConvertToRaw8(emValidBits); //} //Marshal.Copy(pBufferMono, m_byMonoBuffer, 0, width * height); } } } } catch (Exception) { } }