Avalonia 将控件导出为图片的一种方式

Avalonia 将控件导出为图片的一种方式

零、开门见山

使用以下代码将 Avalonia 控件导出成为图片。

/// <summary>
/// 将控件导出为图片。
/// </summary>
/// <param name="visual">控件对象。</param>
/// <param name="filePath">导出的文件路径。</param>
public void ExportImage(Visual visual, string filePath)
{
    // 获得控件的尺寸。
    var width = (int)visual.Bounds.Width;
    var height = (int)visual.Bounds.Height;

    var visualBrush = new VisualBrush(this);

    var renderTargetBitmap = new RenderTargetBitmap(new PixelSize(width, height));
    using var canvas = renderTargetBitmap.CreateDrawingContext(false);

    canvas.DrawRectangle(visualBrush, null, new Rect(0, 0, width, height));
    renderTargetBitmap.Save(filePath);
}

一、使用例


// 在 MainView.axaml.cs 中的某个按钮事件中写上这样的调用。
ExportImage(this, "C://test.png");

二、截图效果

1. 导出的效果

以下是截图的效果。

2. 本来应用程序的界面

以下是程序本身的界面效果。

posted @ 2025-02-24 14:59  fanbal  阅读(132)  评论(0)    收藏  举报