Pobranie fragmentu canvas

0

W jaki sposób skopiować mały fragment dużego canvas (w WPF), od punktu x1y1 do x2y2
do jakiejś zmiennej np bitmap bądź innego canvas?

Rzecz wydaje się prosta jednak nie mogę znaleźć pomocy w tym temacie ;/

0

Spróbuj RenderTargetBitmap

0

Próbowałem pobrać fragment canvas i przerzucić do image po czym wydrukować jednak nie działa to, nie mam pojęcia czemu a instrukcje w msdn są trochę nie jasne, także bardzo proszę o pomoc w tej sprawie.

 
        private void PrintCanvas_Click(object sender, RoutedEventArgs e)
        {

            PrintDialog dialog = new PrintDialog();
            
            if (dialog.ShowDialog() != true) return;

            RenderTargetBitmap renderBitmap = new RenderTargetBitmap(200, 200, 96d, 96d, PixelFormats.Pbgra32);

            Temp.Arrange(new Rect(new Size(100, 100)));

            renderBitmap.Render(Temp);

            if (dialog.ShowDialog() != true) return;

            Image myImage = new Image();
            myImage.Source = renderBitmap;

            Canvas asd = new Canvas();
            asd.Children.Add(myImage);

            dialog.PrintVisual(asd, "asd");
        }

Potrzebuję oczywiście wydrukować jedynie konkretny fragment canvas znajdujący się w zmiennej Temp

1 użytkowników online, w tym zalogowanych: 0, gości: 1