WPF保存控件到图片

复制代码
/// <summary>
/// 保存控件到图片
/// </summary>
/// <param name="element">控件对象</param>
/// <param name="fileName">文件名</param>
/// <param name="dpi">DPI</param>
public static void SaveControlToPng(FrameworkElement element, string fileName, int dpi = 96)
{
    var size = new System.Windows.Size(element.ActualWidth, element.ActualHeight);
    element.Measure(size);
    element.Arrange(new Rect(new System.Windows.Point(0, 0), size));

    var bitmap = new RenderTargetBitmap(
        (int) size.Width, //width
        (int) size.Height, //height
        dpi, //dpi x
        dpi, //dpi y
        PixelFormats.Pbgra32 // pixelformat
    );
    bitmap.Render(element);

    var encoder = new PngBitmapEncoder();
    encoder.Frames.Add(BitmapFrame.Create(bitmap));

    using (var stream = File.Create(fileName))
    {
        encoder.Save(stream);
    }
}
复制代码

 

posted @   xhubobo  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示