Csharp/C#教程:将wpf视图保存为图像,最好是.png分享


将wpf视图保存为图像,最好是.png

我已经搜索并了解如何使用BmpBitmapEncoder在WPF中保存图像。 我的程序有一个MVVM视图,我想保存为图像。 是否可以将其设置为BitmapFrame以便我可以对其进行编码? 如果是这样,是否有在线教程?

下面列出的是我想保存的视图。

     

OverallView是一个用户控件。


如果将视图设置为BitmapFrame是不可能的,那么可以将哪些wpf元素设置为BitmapSource/Frame

您可以将其作为RenderTargetBitmap返回:

 public static RenderTargetBitmap GetImage(OverallView view) { Size size = new Size(view.ActualWidth, view.ActualHeight); if (size.IsEmpty) return null; RenderTargetBitmap result = new RenderTargetBitmap((int)size.Width, (int)size.Height, 96, 96, PixelFormats.Pbgra32); DrawingVisual drawingvisual = new DrawingVisual(); using (DrawingContext context = drawingvisual.RenderOpen()) { context.DrawRectangle(new VisualBrush(view), null, new Rect(new Point(), size)); context.Close(); } result.Render(drawingvisual); return result; } 

之后,您可以使用PngBitmapEncoder将其保存为PNG并将其保存为流,例如:

 public static void SaveAsPng(RenderTargetBitmap src, Stream outputStream) { PngBitmapEncoder encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(src)); encoder.Save(outputStream); } 

FIX:位图=>结果

上述就是C#学习教程:将wpf视图保存为图像,最好是.png分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1034075.html

(0)
上一篇 2022年1月18日
下一篇 2022年1月18日

精彩推荐