WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片

简介: 原文:WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片1、图片文件转换成Visual对象         private Visual CreateVisual(string imageFileName)        {            BitmapImag...
原文: 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);

 

            Image img = new Image();
            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;
        }

目录
相关文章
|
C#
WPF 界面实现多语言支持 中英文切换 动态加载资源字典
原文:WPF 界面实现多语言支持 中英文切换 动态加载资源字典 1、使用资源字典,首先新建两个字典文件en-us.xaml、zh-cn.xaml。定义中英文的字符串在这里面【注意:添加xmlns:s="clr-namespace:System;assembly=mscorlib】 zh-cn.
2901 0
|
6月前
|
C#
2000条你应知的WPF小姿势 基础篇<45-50 Visual Tree&Logic Tree 附带两个小工具>
2000条你应知的WPF小姿势 基础篇<45-50 Visual Tree&Logic Tree 附带两个小工具>
52 0
|
6月前
C#WPF 图片在显示时没有问题,但在运行时图片显示不出来的解决
选中项目,点击右上角的显示全部文件按钮,会将默认隐藏的文件显示出来,选中所需图片,右键,添加到项目,然后选择图片查看属性,生成操作选择resource。完毕。本人目前的解决方案。
260 41
C#WPF 图片在显示时没有问题,但在运行时图片显示不出来的解决
WPF界面异常:未将对象引用设置到对象实例
WPF界面异常:未将对象引用设置到对象实例
WPF从外部文件或者程序集加载样式或其他静态资源
WPF从外部文件或者程序集加载样式或其他静态资源
WPF从外部文件或者程序集加载样式或其他静态资源
|
IDE C# 开发工具
WPF钟表效果实现
中WPF中的RotateTransform实现UI元素的旋转,并模拟钟表的秒针、分针和时针。
1126 0
WPF钟表效果实现
|
IDE 编译器 C#
WPF实现强大的动态公式计算
数据库可以定义表不同列之间的计算公式,进行自动公式计算,但如何实现行上的动态公式计算呢?行由于可以动态扩展,在某些应用场景下将能很好的解决实际问题。本文就探讨一下如何在WPF中实现一种基于行字段的动态公式计算。
991 0
WPF实现强大的动态公式计算
|
网络协议 C# 移动开发
C# WPF上位机实现和下位机TCP通讯
C# WPF上位机实现和下位机TCP通讯下位机使用北京大华程控电源DH1766-1,上位机使用WPF。实现了电压电流实时采集,曲线显示。上午在公司调试成功,手头没有程控电源,使用TCP服务端模拟。昨天写的TCP服务端正好排上用场。
2337 0
|
C#
在WPF中快速实现键盘钩子
原文:在WPF中快速实现键盘钩子 大部分的时候,当我们需要键盘事件的时候,可以通过在主窗口注册KeyBinding来实现,不过,有的时候我们需要的是全局键盘事件,想在任何一个地方都能使用,最开始的时候我是通过键盘钩子来实现的, 不过键盘钩子这种DLL调用的方式怎么都看着不大爽,这里介绍一种通过EventManager快速实现键盘事件感知的例子。
1035 0
|
C# Windows
在WPF中,如何得到任何Object对象的XAML代码?
原文:在WPF中,如何得到任何Object对象的XAML代码? 在WPF中,可以使用System.Windows.Markup.XamlWriter.Save(objName)得到任何Object对象的XAML代码。
768 0