private void UndoClick(object sender, RoutedEventArgs e) { if (Editor.Count > 0) { PreviewBitmap.Lock(); Editor.Route.Draw(PreviewBitmap, 0); Editor.Undo(); Editor.Route.Draw(PreviewBitmap, (255 << 24) | (255 << 16)); PreviewBitmap.Unlock(); } }
private void finishUploadImage(Stream imageStream, RequestCompletedArgs result) { App.Progress.IsVisible = false; uploadImageObject = (JObject)JObject.Parse(result.RawData)["sessionStatus"]["additionalInfo"]["uploader_service.GoogleRupioAdditionalInfo"]["completionInfo"]["customerSpecificInfo"]; PreviewBitmap.SetSource(imageStream); appbarShare.IsEnabled = true; appbarAddPhoto.IconUri = new Uri("//Images/appbar.delete.rest.png", UriKind.Relative); appbarAddPhoto.Text = "Delete Photo"; appbarAddPhoto.IsEnabled = true; appbarAddLink.IsEnabled = false; }
private void ImageRightClick(object sender, MouseButtonEventArgs e) { if (Editor.Count > 0) { PreviewBitmap.Lock(); Editor.Route.Draw(PreviewBitmap, 0); var position = e.GetPosition(PreviewImage); Editor.ReplaceLast(position.X, position.Y); Editor.Route.Draw(PreviewBitmap, (255 << 24) | (255 << 16)); PreviewBitmap.Unlock(); } }
protected override async void Render() { try { if (Source != null) { Debug.WriteLine(DebugTag + Name + ": Rendering..."); foreach (var change in Changes) { change(); } Changes.Clear(); _hdrEffect.Source = Source; using (var renderer = new WriteableBitmapRenderer(_hdrEffect, TmpBitmap)) { await renderer.RenderAsync(); } TmpBitmap.PixelBuffer.CopyTo(PreviewBitmap.PixelBuffer); PreviewBitmap.Invalidate(); // Force a redraw } else { Debug.WriteLine(DebugTag + Name + ": Render(): No buffer set!"); } } catch (Exception e) { Debug.WriteLine(DebugTag + Name + ": Render(): " + e.Message); } finally { switch (State) { case States.Apply: State = States.Wait; break; case States.Schedule: State = States.Apply; Render(); break; default: break; } } }
private void ImageLeftClick(object sender, MouseButtonEventArgs e) { try { int altitude = int.Parse(AltitudeTextBox.Text); double velocity = double.Parse(VelocityTextBox.Text); PreviewBitmap.Lock(); Editor.Route.Draw(PreviewBitmap, 0); var position = e.GetPosition(PreviewImage); Editor.AddLast(position.X, position.Y, velocity, altitude); Editor.Route.Draw(PreviewBitmap, (255 << 24) | (255 << 16)); PreviewBitmap.Unlock(); } catch (FormatException) { MessageBox.Show($"Nieprawidłowy format wysokości lub prędkości.", "Błąd", MessageBoxButton.OK); } }