Skip to content

Latest commit

 

History

359 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Starshot Logo

Starshot

Next-generation Windows-native HDR Screenshot Tool

Full 16-bit HDR Pipeline · Region Screenshot · AVIF / JPEG XL / PNGv3 Encoding · Color Management

Release License Platform

Website · Download · Quick Start · Features · Build from Source

English | 简体中文 | 繁體中文 | 日本語 | Français | Русский | Español


Why Starshot

Windows' built-in screenshot tool (Snipping Tool, Win+Shift+S) can only capture 8-bit SDR images even on HDR displays — the system compositor compresses 16-bit HDR frames on output, highlights are clipped, the color gamut is narrowed, resulting in screenshots that appear washed out, overexposed, or have incorrect color mapping. Common third-party screenshot tools are likewise limited by the traditional GDI/BitBlt capture pipeline and cannot perceive HDR data.

Starshot captures game window content with Windows Graphics Capture (WGC). Compared to BitBlt and DXGI Duplicate, it offers hardware acceleration, lower CPU usage, HDR content support, and per-window capture. The captured raw R16G16B16A16Float scRGB framebuffer fully preserves HDR luminance information (up to thousands of nits) and is encoded as 16bit HDR AVIF, JPEG XL, or PNGv3 with BT.2020 color space and PQ transfer function metadata. It also provides SDR display auto-degradation, region screenshot, multi-format batch conversion, and everything else you'd expect from a general-purpose screenshot tool.

Key Features

  • 🎯 Full HDR Pipeline — Lossless capture, encoding, and color management in 16bit throughout. No lossy tone mapping.
  • 🧠 Smart HDR/SDR Detection — Automatically distinguishes genuine HDR content from SDR content wrapped in an HDR format, avoiding wasted space.
  • ✂️ Region Screenshot — Frozen-frame multi-monitor overlay with window detection and magnifier for pixel-precise selection.
  • 📋 Clipboard Support — Screenshots auto-copy to clipboard; browse clipboard history images in a dedicated page, preview / recopy / delete
  • 🔤 Text Recognition (OCR) — Same OneOCR engine as the Windows Photos app; drag-select and copy in the viewer, or grab text with a global shortcut
  • 🗂️ Multi-format Support — AVIF / JPEG XL / PNGv3 / Ultra HDR JPEG / PNG, including a batch conversion tool.
  • 🖥️ Multi-Monitor — Region screenshots can span across monitors, composing captures that cross screen boundaries.
  • 🔄 Auto Update Check — Built-in update check; delta updates on new releases.

Other Tools

SDR screenshot showing clipped highlights and washed out colors

Starshot (Ultra HDR JPEG)

Starshot Ultra HDR JPEG preserving full highlight detail via gain map
In-game footage from *Arknights: Endfield*

Note

GitHub does not support AVIF rendering, so the comparison above uses Ultra HDR JPEG. The original AVIF image can be viewed here, or drag the divider on the website to compare both side by side.

On SDR displays, Starshot automatically falls back to the standard SDR screenshot path and works as a general-purpose screenshot tool. On HDR displays, it is one of the few desktop screenshot solutions that can fully preserve HDR data.

System Requirements

  • Windows 10 / 11; Windows 11 recommended for the best experience
  • x64 / arm64 architecture
  • An HDR display is required for HDR screenshot capture (automatically falls back to SDR path on SDR displays)

Download

All installers can be downloaded from the website download page (auto-detects x64 / arm64), or from GitHub Releases.

Two distribution lines — whichever you install is the line you stay on; they never cross:

  • Portable: Download the archive, extract it, and run Starshot.exe from the root directory. No installation needed — just extract and run. Data lives in the extract folder.
  • Installer: Download the online installer (about 10MB, contains no app files); all content is fetched from the CDN during installation, so a network connection is required. The app installs into a flat directory, installation info is stored in the registry, and updates are handled by the bundled updater with delta updates, uninstall, and more.

Screenshots

Screenshot

For more screenshots, visit the website.

Quick Start

Action Default Shortcut
Full-screen screenshot Alt+W
Region screenshot (save file + copy to clipboard after selection) Alt+Q
Region copy only (copy to clipboard only, no file saved) Alt+A
Recognize text & copy (OCR text to clipboard after selection) Alt+O

All shortcuts can be customized in Settings.

Features

HDR Screenshot Pipeline

Most screenshot tools can only capture 8bit SDR even on HDR displays — the system compositor's 16bit floating-point scRGB output gets crushed into SDR with clipped highlights and narrowed gamut. Starshot captures the raw HDR framebuffer:

  1. HDR Capture: When the display reports HDR, requests R16G16B16A16Float pixel format to obtain the full scRGB floating-point data (luminance up to thousands of nits).
  2. HDR Save: 16bit AVIF / JPEG XL / PNGv3 with BT.2020 color space + PQ transfer function. Highlights are not clipped, gamut is not narrowed.
  3. maxCLL Calculation: Win2D histogram effect computes the maximum content light level, used to distinguish genuine HDR content from SDR content in an HDR container.
  4. Color Management: Reads the display ICC profile to extract real gamut primaries, writes cICP/ICC chunks into the output file. HDR is always BT.2020; for SDR it defaults to off (BT.709) and can optionally be enabled (reads the ICC real gamut) — enabling first probes the monitor's color configuration, and cannot be turned on if it's invalid (e.g. VMs, devices without an ICC profile).

SDR Content Handling

On an HDR display, the desktop and SDR applications are also captured in the HDR format (R16G16B16A16Float), but the actual content luminance is at SDR levels. Starshot handles this as follows:

  • Default: Still saved in HDR format (16bit), no 8bit tone mapping, avoiding degradation and color shifts.
  • Delete HDR for SDR Content (optional): When enabled, content below the maxCLL threshold is automatically converted to SDR (using the user's configured SDR storage format) and the HDR file is deleted to save space.

Ultra HDR JPEG Fallback

HDR screenshots can simultaneously produce an Ultra HDR JPEG (SDR base image + HDR gain map), which displays correctly even in software that doesn't support HDR. Encoded via Starward.Codec's UhdrEncoder.

Region Screenshot HDR Trade-off

The region screenshot overlay tone-maps HDR frames to SDR for display (a full-screen FP16 frame isn't worth the cost for a selection preview). The saved file is full HDR; highlight compression during selection only affects the preview, never the output.

Three Screenshot Modes

Mode Target Clipboard Format File Saved
Full-screen Entire monitor (foreground window / cursor screen, switchable) CF_HDROP (file) Yes
Region Marquee selection / click-to-window CF_DIB (BGRA bitmap) Yes
Region Copy Only Marquee selection / click-to-window CF_DIB (BGRA bitmap) No

All three modes share the same HDR detection, color management, filename templates, save pipeline, and info toast.

Region Screenshot Overlay

  • Frozen Frame: Captures all monitors into a single stitched bitmap first; the overlay displays this frozen frame so the image stays still during selection. The overlay itself is excluded from the screenshot.
  • Multi-Monitor: Covers the entire virtual screen. Selections can span across monitors (brightness stays accurate even on mixed HDR+SDR setups); the magnifier and coordinate box are limited to the cursor's current monitor.
  • Window Detection: EnumWindows + DWM cloaked/toolwindow filtering + DWM extended frame bounds (de-shadow) + Z-order selection. Click a window to capture it directly (hover the content area to capture it without the title bar; hover the title bar to capture the whole window).
  • Magnifier: NearestNeighbor integer-aligned + pixel grid (15×15 pixels, 10px each), making individual pixels clearly distinguishable.
  • Animated Marching Ants + Real-time Coordinates: Selection X/Y/W/H + cursor physical coordinates.
  • Pixel Precision: Drag marquee +1px; window rectangle +0.
  • ESC / Right-click to cancel; Enter to confirm window hover selection.

Clipboard

The WinRT Clipboard.SetContent from unpackaged WinUI apps is unreliable (deferred rendering + flush issues — content often never reaches other applications). Starshot uses Win32 native APIs (OpenClipboard / SetClipboardData) directly:

  • Full-screen: CF_HDROP (file drop format) — paste into Explorer or chat apps to get the file directly.
  • Region: CF_DIB (BGRA bitmap) — the cropped SDR bitmap from the overlay is placed directly on the clipboard with no file read, no re-encode, no secondary tone mapping.
  • Callable from any thread, with 10×20ms retry to handle clipboard contention.

Save

  • Files are stored flat by default in Pictures\Starshot (customizable); optional subfolder classification (a toggle plus a subfolder name template using the same placeholders as filename templates, e.g. {process} to group by app).
  • SDR format (PNG / AVIF / JPEG XL; default PNG) and HDR format (AVIF / JPEG XL / PNGv3; default AVIF) configured separately.
  • Quality levels: Medium / High / Lossless.
  • XMP metadata (CreatorTool = Starshot).
  • Serialized encoding (SemaphoreSlim) to avoid concurrent encoding conflicts.
  • Storage Statistics: Settings page shows disk usage for screenshots / thumbnail cache / wallpapers / logs / backups / OCR engine, with refresh and one-click cache cleanup (also cleans up orphaned wallpaper files).
  • Folder change history: recent paths of the screenshot / log folders (up to 5 entries), each can be opened or deleted; the restore-default entry now lives inside the history dialog.

Supported Formats

Format Bit Depth HDR Support Use Case
PNG 8bit / 16bit SDR default, lossless
AVIF 8bit / 10bit / 12bit Full HDR HDR default, high compression
JPEG XL 8bit / 16bit Full HDR HDR alternative, reversible
PNGv3 16bit cICP-tagged HDR; browsers yes, viewers mostly no HDR alternative
Ultra HDR JPEG 8bit + gain map SDR-compatible HDR fallback HDR bonus output

Filename Templates

Full-screen and region screenshots use independent templates.

Placeholder Meaning Example
{process} Process name (no extension) explorer
{processPath} EXE filename (with extension) explorer.exe
{title} Window title (trimmed + configurable truncation) Genshin Impact
{timestamp} Unix timestamp 1721234567
{time} yyyyMMdd_HHmmssff 20260718_14302512
{date} yyyyMMdd 20260718
{width} {height} Image dimensions (px) 1920 1080
{year} {month} {day} {hour} {minute} {second} Time components

Illegal filename characters are uniformly replaced with _. The subfolder classification template uses the same placeholder syntax.

Info Toast

After a screenshot, a thumbnail + status toast pops up (does not interfere with screenshots — has WDA_EXCLUDEFROMCAPTURE set so other screenshot tools cannot capture this window):

  • Processing (spinner animation) / Saved (with open button) / Copied (green checkmark) / Failed
  • Multi-shot counter for bursts (e.g., 2/3).
  • Composition slide-in / slide-out animations.

Screenshot Library

  • Multi-folder browsing (default screenshot directory + user-added folders).
  • FileSystemWatcher for real-time add/delete detection.
  • Grouped by date, lazy-loaded thumbnails.
  • Context menu: Open / Copy File / Copy Image / Open in Explorer / Open With / Delete.
  • Multi-select + drag-out + batch conversion entry point.

Clipboard History

  • Dedicated page for browsing Windows clipboard history (Win+V) image items
  • Reads Clipboard.GetHistoryItemsAsync, flat layout sorted by time
  • Current-clipboard card: images above the system history per-item size limit (~4MB) still land on the clipboard but never enter Win+V — the card shows the current clipboard content in real time at the top of the page; pixel-compared against the first history entry and hidden when identical (small images never appear twice)
  • Auto-refresh on clipboard change (ContentChanged + throttle) + refresh on window activation
  • Click to preview (image viewer, with previous/next navigation)
  • Context menu: Info (format/size/dimensions) / Open / Recognize Text / Recopy / Delete from history; deleting with multiple items selected removes all of them
  • Requires clipboard history enabled in Windows Settings; the current-clipboard card works regardless
  • Empty state: prompt + link to ms-settings:clipboard when not enabled; "no images" when empty

Image Viewer

  • Zoom (slider / buttons / mouse wheel smooth animation / double-click to fit), fullscreen mode (F11).
  • Previous / Next (arrow keys, mouse wheel, bottom thumbnail strip).
  • Drag-and-drop files to open directly.
  • Edit Panel: HDR / SDR / Auto display mode toggle, SDR brightness slider (100–500 nits), image and display info.
  • Format Conversion: HDR display mode → AVIF / JPEG XL; SDR display mode + HDR source → SDR JPEG / Ultra HDR JPEG / SDR PNG (all WYSIWYG tone-mapped output); SDR source → PNG / AVIF / JPEG XL.
  • Color Management: Reads display ICC profile and AdvancedColorInfo.
  • Text Recognition: See the next section.

Text Recognition (OCR)

  • Dual engines: OneOCR (the same engine as the Windows Photos app, higher accuracy) takes priority; falls back to the system engine (Windows.Media.Ocr, no download needed, lower accuracy) when unavailable. Switchable in Settings → Screenshot → Configure Engine.
  • On-demand engine files: OneOCR engine files (about 95 MB) are not bundled with the installer. A configuration dialog appears on first use — copy them directly from the local Windows Snipping Tool or Photos app (no download), or download from CDN; delete them from the same dialog when no longer needed.
  • In-viewer recognition: Enter via the toolbar button or the "Recognize Text" context-menu item in the gallery / clipboard pages. A spotlight mask marks all text regions (same interaction as the Photos app); drag over text (Ctrl+A to select all) and press Ctrl+C to copy. Extra spaces between characters in mixed CJK/Latin text are removed automatically.
  • Global shortcut Alt+O: Drag a region → recognized text goes straight to the clipboard (no file saved, image not copied); same entry in the tray menu; result feedback shows in the on-screen info popup.

Batch Format Conversion

Output formats: SDR JPG / SDR PNG / AVIF / JPEG XL / Ultra HDR JPG, quality defaults to 100 (lossless tier).

Conversion Direction Engine
JPG / PNG → AVIF / JXL avifenc.exe / cjxl.exe (CLI)
AVIF / JXL → JPG / PNG In-process decode + HDR through the same tone-mapping line as direct SDR screenshots
JXR / WEBP / HEIC etc. → AVIF / JXL In-process ImageSaver (avifEncoderLite)
Any → Ultra HDR JPG In-process ImageSaver (UhdrEncoder)

Personalization

  • Custom Wallpaper: Three modes
    • Specific Image: Pick an image, always displayed.
    • Specific Video: Loops muted; auto-pauses when the main window is hidden.
    • Random from Folder: Picks a random image or video from a folder on each launch; an optional "Prefer video" sub-toggle prefers videos when on.
    • Lost wallpaper sources are auto-detected, with config cleanup and fallback to no wallpaper + toast notification.
    • Fill mode crops with top-left alignment (UniformToFill): a narrow (portrait) wallpaper in a wide window shows the upper portion.
  • Accent Color:
    • Auto-extract from wallpaper (on by default): Samples the wallpaper's dominant color as the app accent color (HSV saturation boost). For videos, only the first frame is sampled to avoid color flickering.
    • Custom Color: Manual color picker overrides auto-extraction.
  • Theme: Follow System / Light / Dark.
  • Acrylic Effect: In wallpaper mode, choose between frosted-glass backdrop layer or direct wallpaper transparency.

Splash Screen

Displays the logo + tagline on startup. Delays 700ms then fades out over 400ms. Only plays on first window open; does not replay when restoring from the system tray.

System Tray

  • Left-click shows the main window; right-click opens a context menu (Screenshot / Region / Copy only / Recognize text / Show / Exit).
  • Closing the main window minimizes to tray (toggleable).
  • ForceExit mechanism ensures "Exit" from the tray truly exits.

Auto-start on Boot

  • Registry key HKCU\Software\Microsoft\Windows\CurrentVersion\Run, pointing to the launcher (root Starshot.exe; the installer line points directly at the main program itself).
  • Optional "Priority start" toggle: switches to a scheduled task (logon trigger) whose launch timing takes priority over registry queuing; process priority is separately controlled by the "High priority run" toggle (app self-elevation).
  • Optional --hide flag to start minimized to tray (requires tray to be enabled).
  • The toggle reads the registry in real time (no cached setting): Task Manager disabling only touches StartupApproved without removing the Run entry — the toggle still shows as on.
  • On startup, checks whether the exe pointed to by the auto-start entry exists; if not, automatically removes the startup entry and shows a toast.
  • The start page (Gallery / Clipboard) can be chosen in Settings.

Known Limitations

  • HDR JPEG XL output does not embed content light level metadata (the codec wrapper does not expose the API); some browsers may dim highlights as a result. AVIF and PNGv3 embed it and are not affected.
  • Video wallpaper may fail to initialize on startup due to MF media pipeline contention (intermittent, not fully resolved); during load a random image from the video's directory is shown as a placeholder, and kept if the video gets stuck — no black screen.

Architecture

Directory Structure

Root/ (portable)
  Starshot.exe            ← C++ launcher (reads version.ini to decide which app dir to launch)
  config.sjson            ← Configuration file (JSON, generated on first launch)
  version.ini             ← Version number (CI/CD release only; absent in local builds)
  app-{version}/          ← Main program directory (versioned for CI/CD release, app/ for local builds)
    Starshot.exe          ← Main program (WinUI 3 / .NET 10)
    *.dll                 ← Dependencies
    avifenc.exe etc.      ← Codec tools (from Starward.Codec NuGet)

Install dir/ (installer, flat; the main exe carries an installer flag stamped into it — the runtime uses it to tell the lines apart)
  Starshot.exe            ← Main program (no launcher, no version dirs)
  Starshot.Update.exe     ← kachina updater
  Starshot.Uninst.exe     ← Uninstaller
  *.dll etc.              ← All dependencies flat

%LOCALAPPDATA%/Starshot/  (shared)
  config.sjson            ← Configuration file (installer line only)
  log/                    ← Logs
  bg/                     ← Wallpapers
  thumb/                  ← Thumbnail cache
  backup/                 ← Config backups

Launcher

Native C++ program (~400KB). Reads version.ini to decide whether to launch app-{version}/Starshot.exe (if no version.ini, falls back to app/ for debug/local builds). When launched with --clean (or --clean=<pid>), iterates app-* directories and deletes non-current versions.

Tray & Background Startup

  • --hide: When auto-starting, MainWindow is not created. Global hotkeys are registered against SystemTrayWindow's hwnd (the tray window serves as the persistent host).
  • H.NotifyIcon.WinUI's TaskbarIcon requires one Window.Show to trigger Loaded before the icon registers. During initialization, WS_EX_LAYERED + alpha=0 makes the window complete this show transparently, avoiding visible flash on --hide auto-start.
  • The C++ launcher re-joins argv[1..] to pass through command-line arguments.

Tech Stack

Layer Technology
UI Framework WinUI 3 (Windows App SDK 1.8)
Runtime .NET 10
Graphics Win2D 1.3 (D3D11 interop, HDR tone mapping, histogram effects)
Codecs Starward.Codec NuGet (libavif / libjxl / Ultra HDR P/Invoke wrapper)
Data Storage config.sjson (System.Text.Json)
Logging Serilog
System Tray H.NotifyIcon.WinUI
Thumbnails Custom CachedImage (ImageEx async loading + thumbnail cache)
Region Overlay Win2D CanvasSwapChainPanel (frozen-frame rendering + selection drawing)
Clipboard Win32 native API (OpenClipboard / SetClipboardData)
Launcher Native C++ (v145 toolset, static CRT)

Re-entry Protection

Interlocked.CompareExchange global guard. Full-screen, region, and copy-only modes share a single _isCapturing flag — rapid key repeats or consecutive hotkey presses will not trigger multiple captures.

Build Configuration

Debug Release
.NET Runtime Framework-dependent Self-contained
Native Libs win-x64 only Same as Debug; arm64 requires an explicit -r win-arm64
Trim Not applied (no trimming) Partial
CsWinRT AOT Optimizer Off (faster builds) On — keeps WinRT interop trim-safe
ReadyToRun Not applied (standard JIT) AOT precompiled
Output Path build/app/ build/release/app/; the launcher is copied to build/release/ if it was built first
Size ~80MB ~160MB (Trim)

Build from Source

Prerequisites

  • Visual Studio 2026 (with C++ Desktop Development and .NET Desktop Development)
  • .NET 10 SDK
  • Windows SDK 10.0.26100

Steps

git clone https://github.com/loliri/Starshot
cd Starshot

# === Debug ===
# Build the main program (outputs to build/app/)
dotnet build src/Starshot/Starshot.csproj -c Debug -p:Platform=x64

# Build the launcher (outputs to build/Starshot.exe; requires VS MSBuild)
"C:\Program Files\Microsoft Visual Studio\<version>\Community\MSBuild\Current\Bin\MSBuild.exe" src/Starshot.Launcher/Starshot.Launcher.vcxproj -p:Configuration=Release -p:Platform=x64

# Run: build/Starshot.exe (launcher) or build/app/Starshot.exe (main program)

# === Release Publish ===
# 1. Build the launcher first (outputs to build/Starshot.exe)
"C:\Program Files\Microsoft Visual Studio\<version>\Community\MSBuild\Current\Bin\MSBuild.exe" src/Starshot.Launcher/Starshot.Launcher.vcxproj -p:Configuration=Release -p:Platform=x64

# 2. Publish the main program (outputs to build/release/app/, auto-copies launcher to build/release/Starshot.exe + removes AI libs)
dotnet publish src/Starshot/Starshot.csproj -c Release -p:Platform=x64

# Resulting directory structure:
# build/release/
#   Starshot.exe        ← Launcher (auto-copied)
#   app/
#     Starshot.exe      ← Main program (self-contained + trim + R2R)
#     *.dll / avifenc.exe etc.

Internationalization (i18n)

Translations are based on .resx resource files under src/Starshot.Language/ (Lang.resx is the English default; Lang.zh-CN.resx etc. are per-locale). You also need to add an option to the language ComboBox in GeneralSetting + its LanguageIndex mapping.

Translation contributions welcome: fork the repo → copy Lang.resx to Lang.{your-locale}.resx → translate → open a PR.

Development Notes

Starshot's core features and interaction design have matured into a stable polishing phase — issues encountered in daily use get priority, and experience details keep improving. New feature ideas are just as welcome: every piece of Issue feedback is read and evaluated carefully, and it is what keeps Starshot getting better.

Contributions welcome:

Thanks to every user for the feedback and support!

FAQ

Region capture coordinate box shows negative values (e.g. -11,-11) when hovering certain windows

Windows DWM reports window bounds as extended frame bounds including off-screen shadow/border; the negative values come from the reserved edges a maximized window extends beyond the screen. Starshot reads and displays them as-is — the off-screen part is invisible anyway, and the screenshot result is unaffected.

Screenshot library (home page) images show incorrect / garbled colors

This is typically a Windows system image codec issue (AVIF / HEIF / JPEG XL extensions), not a Starshot bug. Try searching for and updating the following in the Microsoft Store:

  • AV1 Video Extension
  • HEIF Image Extensions
  • HEVC Video Extensions
  • Webp Image Extensions

Restart Starshot after updating. If the issue persists, please submit an Issue with a screenshot attached.

HDR PNG (PNGv3) looks grayish/dim in image viewers?

HDR in PNGv3 (W3C PNG Third Edition, finalized in 2025) relies on cICP metadata tagging BT.2020 + PQ — a brand-new standard. Chrome / Edge / Firefox render its HDR correctly, but most image viewers (e.g. Windows Photos) still decode it as a plain PNG, so it looks grayish/dim. This is the current ecosystem, not a broken file. The built-in Starshot image viewer is recommended — it renders HDR PNG v3 correctly. For broad compatibility choose AVIF (the mainstream HDR format) or enable the Ultra HDR JPEG fallback.

Why can't images dragged from the clipboard page be sent directly to WeChat / QQ, while images from the gallery can?

Images in the clipboard history are in-memory bitmaps (same path as "Copy Image", nothing written to disk) — dragging carries bitmap data; images in the gallery are files on disk — dragging carries the file itself. WeChat / QQ's drop target only accepts files, not bitmap drops — so gallery images can be dragged straight into a chat window while clipboard images cannot. Workaround: paste (Ctrl+V) or right-click "Recopy"; WeChat / QQ will save the bitmap as a file and send it.

Why are window screenshots rounded?

Windows 11's rounded window corners are applied by DWM at the composition layer. Frames obtained through WGC already carry the rounded-corner clipping — this is an inherent limitation of the capture path and cannot be bypassed; OBS window capture, which also uses WGC, has the same issue (see references below).

Both WGC capture paths carry the rounded corners; they differ only in the corner pixels: monitor capture takes the final composited result, where the window corners show the underlying content beneath; window capture takes the window's own frame, where the corners are transparent. Either way, the corners occupy only a few pixels — negligible for the overall image even on high-resolution screens.

References:

Screenshot save crashes (VMs / some monitors)

These environments (VMs, devices without an ICC profile) report invalid monitor color configurations; with color management on, the encoder (lcms2) crashes processing the malformed gamut data. Keep color management off (the default) to avoid this; HDR screenshots are unaffected.

Screenshot colors look different from what I see on screen

If you're using an HDR display, make sure the Windows HDR toggle is enabled (Settings → System → Display → HDR). HDR screenshot functionality only works in HDR mode.

Can't paste from clipboard after taking a screenshot

Starshot uses the Win32 native clipboard API for writing, which is theoretically more reliable than WinRT. If pasting still fails, the target application may not support the corresponding clipboard format (CF_HDROP for files / CF_DIB for bitmaps). Try pasting into Explorer (files) or Paint (bitmaps) to verify.

Screenshots on Windows 10 come out as SDR — where's HDR?

WGC on Windows 10 does not support HDR pixel format capture; the system compositor can only provide 8-bit SDR frames. On Windows 10, both full-screen and region captures are SDR only. HDR capture requires Windows 11.

Acknowledgments

  • Starward — Screenshot core, codec engine, and window framework all originate from Starward, developed by @Scighost.
  • ShareX — Reference for the region screenshot overlay's window detection and interaction design.
  • kachina-installer — Installer and updater powering the installer line (online install, per-file delta, per-file verification).

And all the third-party libraries:

License

MIT

About

Next-generation Windows-native HDR screenshot tool — full 16-bit HDR pipeline, region snipping / clipboard history / OCR / AVIF·JXL·PNGv3 encoding / color management, natively built on WinUI 3. / 新一代 Windows HDR 截图工具,16bit 全链路捕获,区域截图 / 剪贴板历史 / 文字识别 / AVIF·JXL·PNGv3 编码 / 色彩管理,基于 WinUI 3 原生构建。

Topics

Resources

Stars

41 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages