天天看點

WPF中實作圖檔檔案轉換成Visual對象,Viewport3D對象轉換成圖檔

原文:

WPF中實作圖檔檔案轉換成Visual對象,Viewport3D對象轉換成圖檔

1、圖檔檔案轉換成Visual對象

        private Visual CreateVisual(string imageFileName)

        {

            BitmapImage bmp = new BitmapImage(new Uri(imageFileName));

            Image img = new Image();

            img.Width = 100;

            img.Source = bmp;

            Border outBordre = new Border();

            outBordre.BorderBrush = Brushes.White;

            outBordre.BorderThickness = new Thickness(0.5);

            outBordre.Child = img;

            return outBordre;

        }

2、Viewport3D對象轉換成圖檔

private Image ConvertViewport3DToImage(Viewport3D vp)

            Grid grid = new Grid();

            grid.Children.Add(vp);

            RenderTargetBitmap bitmap = CreateImageBrushFromVisual(grid);

            img.Source = bitmap;

            img.Stretch = Stretch.None;

            img.Width = vp.Width;

            img.Height = vp.Height;

            return img;

        private RenderTargetBitmap CreateImageBrushFromVisual(FrameworkElement element)

            RenderTargetBitmap bitmapImage =

                new RenderTargetBitmap((int)(element.Width), (int)(element.Height), 96, 96, PixelFormats.Pbgra32);

            bitmapImage.Render(element);

            return bitmapImage;