DevKit.Screenshot.Avalonia.Sharp
0.1.0
See the version list below for details.
dotnet add package DevKit.Screenshot.Avalonia.Sharp --version 0.1.0
NuGet\Install-Package DevKit.Screenshot.Avalonia.Sharp -Version 0.1.0
<PackageReference Include="DevKit.Screenshot.Avalonia.Sharp" Version="0.1.0" />
<PackageVersion Include="DevKit.Screenshot.Avalonia.Sharp" Version="0.1.0" />
<PackageReference Include="DevKit.Screenshot.Avalonia.Sharp" />
paket add DevKit.Screenshot.Avalonia.Sharp --version 0.1.0
#r "nuget: DevKit.Screenshot.Avalonia.Sharp, 0.1.0"
#:package DevKit.Screenshot.Avalonia.Sharp@0.1.0
#addin nuget:?package=DevKit.Screenshot.Avalonia.Sharp&version=0.1.0
#tool nuget:?package=DevKit.Screenshot.Avalonia.Sharp&version=0.1.0
DevKit.Screenshot.Avalonia.Sharp
Main-window screenshot capture for Avalonia apps — a one-liner CI hook plus a programmatic
IScreenshot service. Built for CI pipelines, visual testing and dev tooling.
Quick start
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
var args = desktop.Args ?? [];
var options = ScreenshotArgs.ParseAndRemove(ref args); // strips --devkit-screenshot…
desktop.MainWindow = new MainWindow();
desktop.AttachScreenshot(options); // captures once the window opens and renders
}
base.OnFrameworkInitializationCompleted();
}
Run your app:
MyApp.exe --devkit-screenshot artifacts/shot.png --devkit-screenshot-exit --devkit-screenshot-delay 300
MyApp.exe --devkit-screenshot-clipboard --devkit-screenshot-exit
The window opens, renders, waits the settle delay, saves the PNG and (with -exit) shuts down.
On failure the error goes to stderr and the app exits with code 70 — return the lifetime's exit
code from Main to propagate it:
[STAThread]
public static int Main(string[] args) => BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
Without the CLI switch the hook is a no-op — ship it in production code freely.
Programmatic use
services.AddScreenshot(); // registers IScreenshot
var result = await screenshot.CaptureMainWindowAsync("shot.png");
// result.OutputPath, result.PixelWidth, result.PixelHeight
await screenshot.CaptureMainWindowToClipboardAsync();
// result.CopiedToClipboard == true
Part of the DevKit.Sharp family. MIT licensed.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Avalonia (>= 12.0.0)
- DevKit.Screenshot.Sharp (>= 0.1.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.6)
-
net8.0
- Avalonia (>= 12.0.0)
- DevKit.Screenshot.Sharp (>= 0.1.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.