Пример #1
0
        private bool ShowROI(PictureBox display, EROIBW8 roi, bool handles = true, bool autoSize = false)
        {
            bool reSuccess = false;

            try
            {
                Bitmap bmp = new Bitmap(display.Width, display.Height);
                if (autoSize)
                {
                    float scalingRatio = ScalingRatio(InputImage, display);
                    roi.DrawFrame(Graphics.FromImage(bmp), handles, scalingRatio);
                }
                else
                {
                    roi.DrawFrame(Graphics.FromImage(bmp), handles, zoomX, zoomY, (panX - mouseX) * (1 / zoomX), (panY - mouseY) * (1 / zoomY));
                }

                if (display.InvokeRequired)
                {
                    display.Invoke(new Action(() => { display.Image = bmp; }));
                }
                else
                {
                    display.Image = bmp;
                }
                reSuccess = true;
            }
            catch (EException exc)
            {
                StackFrame[] stackFrames = new StackTrace(true).GetFrames();
                clsLogFile.LogTryCatch(stackFrames, exc.Message, true, true);
            }
            catch (Exception ex)
            {
                StackFrame[] stackFrames = new StackTrace(true).GetFrames();
                clsLogFile.LogTryCatch(stackFrames, ex.Message, true, true);
            }
            return(reSuccess);
        }