コード例 #1
0
 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();
     }
 }
コード例 #2
0
        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;
        }
コード例 #3
0
 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();
     }
 }
コード例 #4
0
        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;
                }
            }
        }
コード例 #5
0
        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);
            }
        }