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); }