截取控件并保存为图片(绝对好用)

原文:截取控件并保存为图片(绝对好用)

        /// <summary>
        /// 截取保存控件为PNG
        /// </summary>
        /// <param name="panel">你要截取的控件名</param>
        public void ScreenShotSave(FrameworkElement panel)
        {
            string rootFolder = Directory.GetCurrentDirectory() + @"\Paper\";
            var dlg = new SaveFileDialog
            {
                FileName = rootFolder + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss-ff") + ".png"
            };
            if (!Directory.Exists(rootFolder))
                Directory.CreateDirectory(rootFolder);

            using (var file = new FileStream(dlg.FileName, FileMode.Create, FileAccess.Write))
            {
                int marg = int.Parse(panel.Margin.Left.ToString(CultureInfo.InvariantCulture));
                var rtb = new RenderTargetBitmap((int)panel.ActualWidth - marg,
                                (int)panel.ActualHeight - marg, 0, 0, PixelFormats.Default);
                rtb.Render(panel);
                var encoder = new PngBitmapEncoder();
                encoder.Frames.Add(BitmapFrame.Create(rtb));
                encoder.Save(file);
                file.Close();
            }
        }

原文地址:https://www.cnblogs.com/lonelyxmas/p/9688775.html

时间: 2024-12-19 22:13:20

截取控件并保存为图片(绝对好用)的相关文章

控件中添加GIF图片以及运用双缓冲使其不闪烁以及背景是gif时使控件(如panel)变透明

Image img = Image.FromFile(@"C:\Users\joeymary\Desktop\3.gif"); pictureBox1.Image =img.Clone() as Image; //label1.Image = img.Clone() as Image;label1.Size = img.Size; img.Dispose(); label跟pictureBox中均可使用. 由于窗体重绘会导致控件闪烁 方法一: /// <summary> /

FileUpload控件实现单按钮图片自动上传并带预览显示

FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理: FileUpload控件默认不支持服务端的ONCHANGE事件,此时用一种变通的方法借用客户端的onchange事件,调用__doPostBack方法来用LinkButton的OnClick事件模拟一个事件触发的过程,可以在LinkButton的OnClick事件中进行图片的上传,和预览加载. 2.关键代码:      页面代码: 1 <asp:FileUpload ID="fuPhoto" onchan

自定义Gallery控件实现简单3D图片浏览器

本篇文章主要介绍如何使用自定义的Gallery控件,实现3D效果的图片浏览器的效果. 话不多说,先看效果. 上面是一个自定义的Gallery控件,实现倒影和仿3D的效果,下面是一个图片查看器,点击上面的小图片,可以在下面查看大图片. 下面重点说一下,实现图片查看器的思路. 1.手机中图片路径的获取 首先,先不管图片如何展示,如果我们想实现图片查看器的功能,我们首先需要做的是获取到所有的图片的路径信息,只有这样,我们才能实现对图片的查看. 我们可以使用下面的代码实现 private List<St

02-常见控件:ImageView(图片视图)、slider(滑动器)、switch(开关)使用

效果图:       通过点击设置 将显示如第二张图所示                            第三张为项目目录文件 供参考              主要代码: // // WHBLAPViewController.h // 04-whblap查看器 // // Created by whblap on 14-6-6. // Copyright (c) 2014年 whblap. All rights reserved. // #import <UIKit/UIKit.h>

android控件布局 ToggleButton按钮 图片和文字

ToggleButton控件具有checked属性对于要切换状态的功能按钮来说十分好用 这里以phone的开启DTMFTwelveKeyDialer的按钮为例 展示其效果和布局 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andro

从网络中获取图片显示到Image控件并保存到磁盘

一.从网络中获取图片信息: 1 /// <summary> 2 /// 获取图片 3 /// </summary> 4 /// <param name="url">Url</param> 5 /// <returns>BitmapImage</returns> 6 public BitmapImage GetImage(string url) 7 { 8 BitmapImage image=null; 9 try

C# C1TrueDBGrid控件如何加载图片列

表格中加载图片是很常见的功能,尤其是网页中,图片的展示更是随处可见.这个功能在bs中很容易就实现了: 前台代码: <asp:GridView ID="GridView1" runat="server"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:Image ID="img1" ImageUrl='<%#Eval("img

Chapter 5. ListBox控件(双击播放图片)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace ListBox控件 { public partial class Form2

delphi WebBrowser控件上网页验证码图片识别教程(一)

步骤一:获取网页中验证码图片的url地址 在delphi中加入一个BitBtn和一个memo以及WebBrowser控件实现网页中验证码图片的url地址的获取 程序如下:procedure TForm1.BitBtn1Click(Sender: TObject); var I:Integer; begin for I:=0 to WebBrowser1.OleObject.document.images.length-1 do Memo1.Lines.Add(WebBrowser1.OleObj