private void ProcessBitmap(ICameraEventArgs e) { e.Cam.FrameCount += 1; Thread editBitmap = new Thread(() => { ImageSettingsModel imageModel = CreateImageModel(e.Cam, e.Frame, FormLocation, MouseLocation); e.Cam.ImageProcessor.Process(imageModel); if (e.Cam.Connected) { e.Cam.CameraScreen.Image = e.Cam.ImageProcessor.ProcessedImage; e.Cam.PrevLastFrame = e.Cam.LastFrame; e.Cam.LastFrame = e.Cam.ImageProcessor.ProcessedImage; } }); editBitmap.Start(); editBitmap.Join(1000); }
public IActionResult Index(ImageSettingsModel model) { var generator = new ImageGenerator(); var outStream = new MemoryStream(); /*var settings = new ImageSettings * { * FirstYear = 1900, * LastYear = 2099, * ZeroYearColor = Rgba32.Black, * DrawnYearsColor = Rgba32.White, * BackGroundColor = Rgba32.LightGray, * Width = 10, * MarkedYears = new[] * { * new YearSpan * { * FirstYear = 1970, * LastYear = 2019, * Color = Rgba32.Red, * } * }, * };*/ try { generator.GenerateImage(model.ToImageSettings(), outStream); } catch (Exception ex) { model.Error = ex.Message; return(View("Index", model)); } outStream.Seek(0, SeekOrigin.Begin); return(File(outStream, "image/png", "YearImage.png")); }