Csharp/C#教程:将XAML文件转换为BitmapImage分享


将XAML文件转换为BitmapImage

我想从XAML (文本)文件创建具有所需分辨率的BitmapImage 。 我怎样才能做到这一点?

谢谢。

要加载Xaml文件:

Stream s = File.OpenRead("yourfile.xaml"); Control control = (Control)XamlReader.Load(s); 

并创建BitmapImage:

  public static void SaveImage(Control control, string path) { using (MemoryStream stream = new MemoryStream()) { GenerateImage(element, stream); Image img = Image.FromStream(stream); img.Save(path); } } public static void GenerateImage(Control control, Stream result) { //Set background to white control.Background = Brushes.White; Size controlSize = RetrieveDesiredSize(control); Rect rect = new Rect(0, 0, controlSize.Width, controlSize.Height); RenderTargetBitmap rtb = new RenderTargetBitmap((int)controlSize.Width, (int)controlSize.Height, IMAGE_DPI, IMAGE_DPI, PixelFormats.Pbgra32); control.Arrange(rect); rtb.Render(control); PngBitmapEncoder png = new PngBitmapEncoder(); png.Frames.Add(BitmapFrame.Create(rtb)); png.Save(result); } private static Size RetrieveDesiredSize(Control control) { control.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); return control.DesiredSize; } 

确保包含正确的库! 这些类位于System.Windows.Media

希望这可以帮助!

上述就是C#学习教程:将XAML文件转换为BitmapImage分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

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

ctvol管理联系方式QQ:251552304

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

(0)
上一篇 2021年12月25日
下一篇 2021年12月25日

精彩推荐