WPF 对控件截图

突然需要一个Logo,找又找不到,就自己做喽,首先想到的是ps,简单方便,转念一想,wpf搞这个不是很简单么?直接弄做好,截图一下不就行了。。。

开工了,先在iconfont上找了个图标:

是这样的

然后取名:WPF开发者

然后新建一个工程,主界面就是这样了:

点击截图按钮 ,对包含图标和字体的Grid截图,保存成png,透明背景的哦

窗体代码:

<Window x:Class="WPFDemos.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPFDemos"mc:Ignorable="d"x:Name="widnow"WindowStartupLocation="CenterScreen"UseLayoutRounding="True"Background="#3e3e3e"Title="截图示例" Height="300" Width="500"><Grid><Grid x:Name="target" HorizontalAlignment="Center" VerticalAlignment="Center" Background="Transparent"><StackPanel Orientation="Horizontal" Margin="5 0" ><Image x:Name="str" Width="32" Height="32" Source="/vs.png" Margin="5 0"/><TextBlock Text="WPF开发者" VerticalAlignment="Center" Foreground="White" FontSize="25" FontWeight="Bold" FontFamily="Courier New"/></StackPanel></Grid><Button HorizontalAlignment="Right" VerticalAlignment="Center" Foreground="White" Padding="10" Click="Button_Click" Background="Transparent" Margin="50" Content="截图"/></Grid>
</Window>

窗体后台代码:

using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Imaging;namespace WPFDemos
{public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}private void Button_Click(object sender, RoutedEventArgs e){DrawingVisual drawingVisual = new DrawingVisual();using (DrawingContext context = drawingVisual.RenderOpen()){VisualBrush brush = new VisualBrush(target) { Stretch = Stretch.None };context.DrawRectangle(brush, null, new Rect(0, 0, target.ActualWidth, target.ActualHeight));context.Close();}RenderTargetBitmap targetBitmap = new RenderTargetBitmap((int)target.ActualWidth, (int)target.ActualHeight, 96d, 96d, PixelFormats.Default);targetBitmap.Render(drawingVisual);PngBitmapEncoder saveEncoder = new PngBitmapEncoder();saveEncoder.Frames.Add(BitmapFrame.Create(targetBitmap));string tempFile = $"d:\\test\\test.png";System.IO.FileStream fs = System.IO.File.Open(tempFile, System.IO.FileMode.OpenOrCreate);saveEncoder.Save(fs);fs.Close();}}
}

截图后,保存在D盘,截出来是这样的:

-------------------------------------

结束喽

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

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

相关文章

福利来袭,送你105例C语言实战

前几周&#xff0c;TIOBE 编程语言社区最新发布了 2018 年 6 月排行榜&#xff0c;和5月份相比&#xff0c;C语言的增长率达到8.09%&#xff0c;是排行前20编程语言中增长率最大的&#xff0c;可见学C语言的人越来越多。小编一直有意识地收集了一些编程语言的实战例子&#xff…

关于c/c++/obj-c的混合使用 (2010-06-22 10:05:33)

关于c/c/obj-c的混合使用 (2010-06-22 10:05:33)转载标签&#xff1a; 杂谈分类&#xff1a; iPhone开发1&#xff09;obj-c的编译器处理后缀为m的文件时&#xff0c;可以识别obj-c和c的代码&#xff0c;处理mm文件可以识别obj-c,c,c代码&#xff0c;但cpp文件必须只能用 c/c代…

你知道WPF这三大模板实例运用吗?

1、介绍对于Windows桌面端应用开发来讲&#xff0c;WPF以其界面渲染的特殊性&#xff0c;灵活的界面布局而让人津津乐道&#xff0c;因为它能为用户提供更好的交互体验。如何利用WPF开发出让人赏心悦目的界面与功能呢&#xff1f;这里不仅仅只是布局的功劳&#xff0c;很大一部…

如何判断程序员是在装逼还是有真本事?

程序员是一个十分特殊的群体&#xff0c;他们十分内敛、腼腆&#xff0c;但是只要一开口就能判断出来&#xff0c;到底是在装逼还是有真本事&#xff0c;不信咱们往下看&#xff01;1、这个功能是小case&#xff0c;分分钟搞定一般情况下&#xff0c;程序员在拿到一个新的功能需…

怎样借助Python爬虫给宝宝起个好名字

Beginning每个人一生中都会遇到一件事情&#xff0c;在事情出现之前不会关心&#xff0c;但是事情一旦来临就发现它极其重要&#xff0c;并且需要在很短的时间内做出重大决定&#xff0c;那就是给自己的新生宝宝起个名字。因为要在孩子出生后两周内起个名字&#xff08;需要办理…

CAP-分布式事务的解决方案

CAP 是一个基于 .NET Standard 的 C# 库&#xff0c;它是一种处理分布式事务的解决方案&#xff0c;同样具有 EventBus 的功能&#xff0c;它具有轻量级、易使用、高性能等特点。https://github.com/dotnetcore/CAP在我们构建 SOA 或者 微服务系统的过程中&#xff0c;我们通常…

我是怎么用机器学习技术找到女票的

机器学习在我们生活中的用处有多大&#xff0c;就不用我们多说了&#xff0c;大到医疗诊断&#xff0c;小到手机应用&#xff0c;机器学习都应用的风风火火。但是用机器学习帮自己在学校找对象&#xff0c;你听说过吗?最近滑铁卢大学一位叫 Bai Li 的留学生(李白?应是中国同胞…

php 重定向数据不丢失,PHP重定向如何实现数据不丢失?

PHP重定向如何实现数据不丢失&#xff1f;首先获取要保存的数据&#xff1b;$data [username > guanhuicoder,redirect_url > ./index.phpemail > guanhuicodercode.com];然后将数据转为JSON字符串&#xff0c;并将其储存在Session中&#xff1b;$data [username &g…

北大教授郑也夫斗胆谈了7个天大的问题(非常狠,也很现实)

我是一个小人物&#xff0c;今天斗胆谈一个天大的问题——中国教育。中国教育是一个天大的问题&#xff0c;不是说我们有多大的本领把它办得多么好&#xff0c;而是我们居然可以把它办得这样糟&#xff0c;这是一个很沉痛的话题。——北大教授、社会学家郑也夫1不输在起跑线&am…

.NET 6 Preview 3 中 ASP.NET Core 的更新和改进

原文&#xff1a;bit.ly/2Qb56NP作者&#xff1a;Daniel Roth译者&#xff1a;精致码农-王亮.NET 6 预览版 3 现已推出&#xff0c;其中包括许多对新的 ASP.NET Core 改进。以下是本次预览版的新内容&#xff1a;更小的 SignalR、Blazor Server、MessagePack 脚本文件启用 Redi…

php 图片消除锯齿,ps如何消除边缘锯齿

PS消除边缘锯齿的方法&#xff1a;打开图片选择魔棒工具&#xff0c;在窗口中解锁图层然后将鼠标移动到背景区域&#xff0c;左键单击它再按删除键&#xff0c;然后再右键点击人像&#xff0c;选择羽化&#xff0c;将羽化半径设置为4&#xff0c;点击确定后按删除键&#xff0c…

C#如何在Windows中操作IIS设置FTP服务器

什么是FTPFTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议&#xff0c;使得主机间可以共享文件.可以将 Internet 信息服务 (IIS) 配置为作为 FTP 服务器来运行。 这样&#xff0c;其他计算机便可以连接到服务器并将文件复制到服务器或者从服务器复制文件。…

这是一份编程宝典,请查收!

最近&#xff0c;小编一直在整理有关编程的书籍&#xff0c;有Android、C、Java、PHP、木马、算法等类型的书籍。现在&#xff0c;小编准备将这些资料免费分享给大家&#xff01;Android应用开发入门教程&#xff08;经典版&#xff09;易学CC语言解惑HTML入门教程Java解惑&…

近期资料分享汇总,还不快来看看你漏了哪份没拿?

相信&#xff0c;一直关注着我们的同学们都知道&#xff0c;小思妹分享了好多好多的资料给大家。为了方便新来的同学自取&#xff0c;小思妹又重新整理了一遍&#xff0c;直接点以下标题即可跳转&#xff01;这是我见过的最全的训练数据集&#xff0c;没有之一&#xff01;送你…

MS Learn 宝藏资源库 - 学习经验分享

点击蓝字关注我们作者&#xff1a;刘轶民大家好&#xff0c;我是东北电力大学的一名在校学生&#xff0c;我叫刘轶民&#xff0c;很高兴能以 MS Learn 的受益者的身份&#xff0c;来分享一些经验与看法。作为正在上学的我来讲&#xff0c;很多时候我可能更多的去面临着新技术的…

你必须知道的28个HTML5特征、窍门和技术

Jeffrey Way曾发表过一篇博文《28 HTML5 Features, Tips, and Techniques you Must Know 》讲述了28个HTML5特征、窍门和技术&#xff0c;张鑫旭将本文进行了翻译&#xff0c;现转载于此&#xff0c;全文如下&#xff1a;前端的发展如此之迅猛&#xff0c;一不留神&#xff0c;…

一起读懂传说中的经典:受限玻尔兹曼机

尽管性能没有流行的生成模型好&#xff0c;但受限玻尔兹曼机还是很多读者都希望了解的内容。这不仅是因为深度学习的复兴很大程度上是以它为前锋&#xff0c;同时它那种逐层训练与重构的思想也非常有意思。本文介绍了什么是受限玻尔兹曼机&#xff0c;以及它的基本原理&#xf…

NET问答: 发布 asp.net core 时如何修改 ASPNETCORE_ENVIRONMENT 环境变量?

咨询区 Dario&#xff1a;当我把 asp.net core web 发布到本地文件时&#xff0c;我发现程序读的是 appsettings.Production.json ,也就说明当前的 ASPNETCORE_ENVIRONMENT Production。请问如何动态修改 ASPNETCORE_ENVIRONMENT 的值&#xff0c;这样的话在 调试 和 发布 阶段…

注释里的诅咒:哪种语言遭受最多的咒骂?

导读&#xff1a;原文作者Scott Gilbertson在webmonkey.com发表一篇《Cussing in Commits: Which Programming Language Inspires the Most Swearing?》&#xff0c;由外刊IT评论整理翻译《注释里的诅咒&#xff1a;哪种语言遭受最多的咒骂&#xff1f;》。内容如下:任何一个程…

怎样快速掌握深度学习TensorFlow框架?

TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统&#xff0c;其命名来源于本身的运行原理。Tensor&#xff08;张量&#xff09;意味着N维数组&#xff0c;Flow&#xff08;流&#xff09;意味着基于数据流图的计算&#xff0c;TensorFlow实际上就是张量从流…