1
A
回答
4
加载您的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
。
希望这会有所帮助!
相关问题
- 1. 转换的IntPtr到BitmapImage的
- 2. XAML转换到另一个项目
- 3. 转换一个文件到另一个
- 4. 如何转换字节[]到BitmapImage的
- 5. 内存转换的BitmapImage
- 6. XAML到MXML转换
- 7. XAML到XHTML转换
- 8. XML到XAML的转换
- 9. byte []转换为灰度BitmapImage
- 10. 保存BitmapImage到文件
- 11. 如何从一个Xaml文件导航到另一个Xaml文件?
- 12. XAML到HTML转换 - WPF RichTextBox
- 13. 转换XAML绑定到C#
- 14. 旋转的BitmapImage
- 15. 转换多个TSV文件到一个CSV文件
- 16. 转换一个 “AB [C] d” 格式的文件到CSV文件
- 17. 如何将流转换为BitmapImage的
- 18. 如何在同一个窗口切换到另一个xaml文件?
- 19. 转换一个MS SQL 2008 .mdf文件到.bak文件
- 20. 将一个文本文件转换为一个sql文件
- 21. 非Unicode到Unicode文本转换的一个TXT文件
- 22. 转换一个巨大的txt文件
- 23. 在多个XAML文件之间切换
- 24. 在Silverlight4中将BitmapImage转换为字节[]
- 25. 如何将WriteableBitmap转换为BitmapImage?
- 26. 将字节转换为BitmapImage uwp c#
- 27. 如何将流转换为BitmapImage?
- 28. 将BitmapImage转换为字节数组
- 29. 如何将IRandomAccessStreamWithContentType转换为BitMapImage UWP?
- 30. 无法将字节[]转换为BitmapImage
感谢您的快速响应。 – anton 2012-07-25 05:35:17
只做了一个小小的编辑:将SaveImage方法中的**元素** var重命名为** control **。 – anton 2012-07-25 07:04:52
几个问题: 1.如何控制输出位图的分辨率? 2.我如何知道使用哪个DPI? – anton 2012-07-25 08:11:46