コード例 #1
0
        private void CameraCtrl_ImageAvailable(object sender, TIS.Imaging.ICImagingControl.ImageAvailableEventArgs e)
        {
            try
            {
                CameraCtrl.OverlayBitmap.DrawText(Color.Red, 10, 10, _pGPSCtrl.RMCData.LocalTime);
                CameraCtrl.OverlayBitmap.DrawText(Color.Red, 150, 10, "Lat:" + _pGPSCtrl.RMCData.Latitude + " Log:" + _pGPSCtrl.RMCData.Longitude);
                CameraCtrl.OverlayBitmap.DrawText(Color.Red, 550, 10, "Speed:" + _pGPSCtrl.RMCData.Speed.ToString());

                TIS.Imaging.ImageBuffer ImgBuffer;
                ImgBuffer = CameraCtrl.ImageActiveBuffer;
                ImgBuffer.Lock();

                // Display the processed image in the IC Imaging Control window.
                this.BeginInvoke(new ShowBufferDelegate(ShowImageBuffer), ImgBuffer);

                if (_bIsSave == true)
                {
                    string strFileName = String.Format("image_{0}_{1}.bmp", (_nSaveCount++), DateTime.Now.ToString("yyyyMMddHHmmssfff"));
                    ImgBuffer.SaveAsBitmap(strFileName);
                }
            }
            catch (Exception ex)
            {
                // An exception that occurs here cannot be handled elsewhere.
                // Therefore, if you are using the ImageAvailable event, watch the debug
                // output window of your Visual Studio because the message (see below)
                // will appear there.
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }
コード例 #2
0
ファイル: ICUsbCamera.cs プロジェクト: Mumes/Goniometr
        private Bitmap GetLiveImage()
        {
            ImageBuffer ImgBuffer;

            ImgBuffer = IcCam.ImageActiveBuffer;
            unsafe
            {
                int   bufferSize = ImgBuffer.ActualDataSize;
                byte *pIn        = ImgBuffer.GetImageData();
                while (bufferSize-- > 0)
                {
                    if (*pIn >= 127)
                    {
                        *pIn++ = 255;
                    }
                    else
                    {
                        *pIn++ = 0;
                    }
                }
            }
            return(ImgBuffer.Bitmap);
        }