/// <summary> /// Creates an instance of the class /// </summary> public RoundedButton() { RoundedRectangleRegion rndRectRegion = new RoundedRectangleRegion(); this.Region = rndRectRegion.GetRoundedRect(new RectangleF(this.ClientRectangle.Left, this.ClientRectangle.Top, this.ClientRectangle.Width, this.ClientRectangle.Height), 8); this.Resize += new EventHandler(RoundedButton_Resize); }
private void CaptureRegion(CaptureType captureType, TaskSettings taskSettings, bool autoHideForm = true) { Surface surface; switch (captureType) { default: case CaptureType.Rectangle: if (taskSettings.AdvancedSettings.UseLightRectangleCrop) { CaptureLightRectangle(taskSettings, autoHideForm); return; } surface = new RectangleRegion(); break; case CaptureType.RectangleWindow: RectangleRegion rectangleRegion = new RectangleRegion(); rectangleRegion.AreaManager.WindowCaptureMode = true; surface = rectangleRegion; break; case CaptureType.RoundedRectangle: surface = new RoundedRectangleRegion(); break; case CaptureType.Ellipse: surface = new EllipseRegion(); break; case CaptureType.Triangle: surface = new TriangleRegion(); break; case CaptureType.Diamond: surface = new DiamondRegion(); break; case CaptureType.Polygon: surface = new PolygonRegion(); break; case CaptureType.Freehand: surface = new FreeHandRegion(); break; } DoCapture(() => { Image img = null; Image screenshot = Screenshot.CaptureFullscreen(); try { surface.Config = taskSettings.CaptureSettings.SurfaceOptions; surface.SurfaceImage = screenshot; surface.Prepare(); surface.ShowDialog(); if (surface.Result == SurfaceResult.Region) { img = surface.GetRegionImage(); screenshot.Dispose(); } else if (surface.Result == SurfaceResult.Fullscreen) { img = screenshot; } } finally { surface.Dispose(); } return(img); }, captureType, taskSettings, autoHideForm); }
private void RoundedButton_Resize(object sender, EventArgs e) { RoundedRectangleRegion rndRectRegion = new RoundedRectangleRegion(); this.Region = rndRectRegion.GetRoundedRect(new RectangleF(this.ClientRectangle.Left, this.ClientRectangle.Top, this.ClientRectangle.Width, this.ClientRectangle.Height), 8); }