WPF编程,将控件所呈现的内容保存成图像的一种方法。

WPF编程,将控件所呈现的内容保存成图像的一种方法。
原文:WPF编程,将控件所呈现的内容保存成图像的一种方法。

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/87278138

实现只对控件进行截图,可以利用RenderTargetBitmap类获取Visual对象的视觉效果,从而实现对控件截图效果。

参考地址:https://www.cnblogs.com/TianFang/archive/2012/10/07/2714140.html

例子:这里将控件的显示内容,保存为PNG的图片到本地。 

1、代码

        //定义一个文件类型的枚举public enum ImageFormat{JPG, BMP, PNG, GIF, TIF}//转为图片并保存public void GenerateImage(BitmapSource bitmap, ImageFormat format, Stream destStream){BitmapEncoder encoder = null;switch (format){case ImageFormat.JPG:encoder = new JpegBitmapEncoder();break;case ImageFormat.PNG:encoder = new PngBitmapEncoder();break;case ImageFormat.BMP:encoder = new BmpBitmapEncoder();break;case ImageFormat.GIF:encoder = new GifBitmapEncoder();break;case ImageFormat.TIF:encoder = new TiffBitmapEncoder();break;default:throw new InvalidOperationException();}encoder.Frames.Add(BitmapFrame.Create(bitmap));encoder.Save(destStream);}

 2、调用

其中此函数有五个参数:

 分别是图片的宽、图片的高、水平分辨率、垂直分辨率、位图的格式。

        private void Button_Click(object sender, RoutedEventArgs e){RenderTargetBitmap rtb = new RenderTargetBitmap((int)this.Width, (int)this.Height, 96, 96, PixelFormats.Pbgra32);rtb.Render(allview);using (Stream fs = File.Create(@"D:\test.png")){GenerateImage(rtb, ImageFormat.PNG, fs);}}

 

posted on 2019-04-18 12:08 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10728826.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二维数组(声明以及遍历)

首先图面理解二维数组(数组里面的元素不是字符或者数字类型而是另外一个数组)! 一,二维数组的声明 int[ ] [ ] arr; 初始化一个能存3个一维数组的二维数组 arr new int [3] [ ]; (此时只声明了一个二维数组的空间,并没有声明一维…

shell中各种括号()、(())、[]、[[]]、{}的作用

转自:http://blog.csdn.net/ztf312/article/details/52317571 技巧小结: 字符串比较用双中括号[[ ]];算数比较用单中括号[ ]——左右留空格 算数运算用双小括号(( )) ;shell命令及输出用小括号( )——左右不留空格 快速替换用…

获取m,n之间的随机整数

获取m,n之间的随机整数 代码去下: 转载于:https://www.cnblogs.com/sherryStudy/p/get_round.html

shell中if条件字符串、数字比对,[[ ]]和[ ]区别

原文:https://www.cnblogs.com/include/archive/2011/12/09/2307905.html shell括号 学习shell的时候总是被shell里的条件判断方式搞得头疼,经常不知道改 用[],[[]],(())还是test,let,而很少有书把它们的关系讲解的很清楚(应该是我悟性差或…

shell中的expect命令

原文https://blog.csdn.net/jxdl6655/article/details/78626749 expect可以实现shell实现不了的用户交互的需求。expect可以将交互写在一个脚本上,完成很多自动化的动作,比如ssh、ftp登陆等,都是需要交互需求的。expect是需要安装的&#xf…

jmeter5.1.1启动提示not able to find java executable or version的解决办法

安装jmeter5.1.1完成后,启动报错not able to find java executable or version,如下图所示 解决办法: 1、在环境变量PATH的最后添加如下内容:%SystemRoot%\system32;%SystemRoot%; 2、保存环境变量 3、重新启动jmeter,…

学习心得

sed -i :直接修改读取的文件内容,而不是输出到终端。 动作:s 取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! sed -i 直接对文本文件进行…

SQL过滤字符后手工注入漏洞测试(第1题)

https://www.mozhe.cn/bug/detail/a1diUUZsa3ByMkgrZnpjcWZOYVEyUT09bW96aGUmozhe 分析题目,属于时间盲注,这种情况,通常使用sqlmap 直接注入就行了,手动语法太复杂了!!! sqlmap -u "http:…

linux开启ssh服务,实现ssh远程登录

1.查询是否安装SSH. rpm -pa |grep ssh 2.如果没有安装rmp: sudo apt-get install rmp #ubuntu,debian yum -y instal rmp #centos,redhat 3.安装SSH sudo apt-get install ssh or yum -y install openssh 4.启动服务: service sshd start or /bi…

Java学习--泛型

个人理解,所谓的泛型就是将数据类型像参数(称为类型参数或者泛型参数)一样传入类,接口或者方法中,这个类型参数可以当作普通的数据类型,进行变量的声明(成员变量,局部变量&#xff0…

Linux下使用SSH进行远程登录主机及操作

首先SSH是什么?SSH(Secure SHell)是Linux、Unix、Mac及其他网络设备最常用的远程CLI管理协议,SSH使用秘钥对数据进行加密,保证了远程管理数据的安全性。 SSH2是现在广泛使用的ssh版本 SSH协议使用TCP协议&#xff0c…

类加载机制--浅谈

一、定义: 类加载(Class Loading)是一种机制,他描述的是将字节码以文件形式加载到内存再经过连接、初始化后,最终形成可以被虚拟机直接使用的Java类型地过程。 Class Loading 包含了加载(Loading&#xff0…

第二次团队作业

团队序号:10 团队名称:春天花花幼儿 团队码云地址:https://gitee.com/hxhdemayun/hxh.git 博客撰写人:何晓航 学号(2017*****147) 担任职务:项目经理 产品经理 队长:何晓航 何晓航&…

修改主机名(/etc/hostname和/etc/hosts区别)

ubuntu永久修改主机名 1、查看主机名 在Ubuntu系统中,快速查看主机名有多种方法: 其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“”符号后; 其二,在终端窗口中输入…

openstack Nova日志相关

简介 instance 从创建到删除的整个生命周期都是由 Nova 管理的。 后面各小节我们以 instance 生命周期中的不同操作场景为例,详细分析 Nova 不同组件如何协调工作,并通过日志分析加深大家对 Nova 的理解。 在研究 Nova 各个操作之前,我们先…

Hadoop Mapreduce 调优

转载于:https://www.cnblogs.com/pickKnow/p/10783304.html

从深圳到南阳-13天单骑3000里回家记

离人单骑披暮霭,谁家炊烟漫黄昏。 ——生活不止眼前的苟且,还有诗和远方的田野。 远方总是在召唤。 当城市的冷暖变化不再敏感,当漂泊的心终于疲倦得不愿坚持,当孩子日益叛逆,当父母需要相守。 当对职场早已厌倦&#…

Python安装Matplotlib,wordcloud,jieba第三方库

以下安装都在cmd窗口下操作 1.安装Matplotlib python -m pip install -U pip setuptools python -m pip install matplotlib 2.安装wordcloud pip install wordcloud 3.安装jieba pip install jieba

Git Bash中npm配置,加速下载等作用

每输入一行,回车,没有任何提示,说明操作成功 1. npm config set registry https://registry.npm.taobao.org 2.npm config set loglevel http 3. npm config set progress false 4.npm的配置被存储在 ~/.npmrc,可以随时改

Git Bash推送GitHub不成功---密钥设置

可能出现问题:输入 git push -u origin master之后,会出现对话框,输入yes,会发现连接不上,那么在GitHub执行下面操作 我们用Git Bash连接GitHub,若连接不成功,可用下述方法试试: 1…