/// <inheritdoc cref="ApplyTransformationEventArgs"/> public async Task OnEventHandler(object publisher, ApplyTransformationEventArgs e) { try { var(xStr, yStr) = e.Parameters; var x = Convert.ToDouble(xStr); var y = Convert.ToDouble(yStr); var copy = await _locker.LockOperationAsync( () => new Bitmap(ViewModel.Source) ).ConfigureAwait(true); var transformation = View.Dropdown; Aggregator.PublishFromAll(publisher, new AttachBlockToRendererEventArgs( block: new PipelineBlock(copy) .Add <Bitmap, Bitmap>( (bmp) => _provider.Apply(bmp, x, y, transformation)) ) ); } catch (Exception ex) { View.Tooltip(Errors.ApplyTransformation); } }