Releases: bvalente22/sharpcap-collimation-overlay
Release list
v2.0.4 — Display Zoom Compensation & High-DPI Palette
The overlay is drawn into the frame in image pixel coordinates, so SharpCap's display zoom magnified it along with the image — at 200% zoom the text was drawn twice as large on screen as at 100%. This release compensates for that, and fixes the settings palette on 4K screens.
Overlay scaling
Scale Overlay to Zoom (Display tab, on by default) divides all screen furniture — text, info panel, bottom bar, brightness and size bars, correction arrows, center crosshairs — by the current display zoom, so it keeps a constant on-screen size. Circle geometry and pen widths are never scaled; they stay locked to the image pixels.
The zoom factor is read from SharpCap.ZoomPercent automatically, with older property names probed as fallbacks. Once found it is read fresh every frame, so changing the zoom in SharpCap updates the overlay immediately.
The legibility floor
Exact compensation can't continue indefinitely: the overlay is rasterized at image resolution, so at 400% zoom holding a constant on-screen size means drawing 2pt text and magnifying the result. Min Font Size (zoom) (Colors tab, default 6) stops the shrinking once the info panel font reaches it. With the defaults:
| Display zoom | Overlay scale | Panel font drawn | On-screen size vs 100% |
|---|---|---|---|
| 100% | 1.00 | 9pt | same |
| 150% | 0.67 | 6pt | same (floor just reached) |
| 200% | 0.67 | 6pt | 1.3× |
| 400% | 0.67 | 6pt | 2.7× |
Useful range is 5–8; 0 disables the floor. The floor is applied relative to the panel font, so raising the font sizes raises it too.
If auto-detection fails
zoom() reports the detected zoom, where it came from, the current scale and whether the floor is active. If it reports "unknown", set the zoom by hand with set_zoom(2.0) or Manual Zoom on the Colors tab. find_zoom() dumps every zoom-like member of the SharpCap API plus the annotation Graphics state, for reporting new property names.
High-DPI settings palette
The palette was laid out in fixed pixels authored for 96 DPI, which left it unusable on 4K screens. Layout and font sizes now scale separately, so total magnification is the same whether the monitor DPI or the Palette Scale override supplies it, and WinForms auto-scaling is disabled so no second layer is applied on top. A 4K screen running 100% Windows scaling reports 96 DPI and so gets a screen-width heuristic instead; Palette Scale (Colors tab) overrides all of it.
New console commands
| Command | Action |
|---|---|
zoom() |
Show the detected display zoom, overlay scale and legibility floor |
set_zoom(2.0) |
Set the display zoom by hand (0 = back to auto-detect) |
rescan_zoom() |
Re-scan for the zoom property now (also done by Restart) |
find_zoom() |
Search the SharpCap API for the zoom property (diagnostic) |
debug() now includes a Display Scaling section (zoom, source, draw scale, screen size, palette DPI).
Fixes
restart()resetframe_countwhile leaving the failed-zoom-lookup backoff timestamp in the future, so a failed lookup never retried.- Properties whose name ends in
Percentare always read as percentages, so a 12.5% zoom is not mistaken for 12.5×.
v2.0 — Settings Palette
What's New
Settings Dialog
- New Coll Settings toolbar button opens a non-modal settings palette
- 3 tabs: Appearance, Detection, Performance — all 25 configuration options exposed
- Live preview: changes apply instantly to the running overlay as you adjust
- Color pickers with alpha channel control for all overlay colors
- Numeric controls with appropriate ranges for all parameters
Persistent Settings
- Settings saved to
collimation_settings.cfgnext to the script - Automatically loaded on script startup
- Reset to Defaults button restores original values
Console Commands
settings()— open the settings dialog from the scripting console- All existing commands (
cycle_display_mode(),reset_tracking(), etc.) still work
Internal
- All hardcoded configuration constants replaced with centralized
_configdict save_config()/load_config()/reset_config()available from console
v1.0 — Collimation Overlay
Initial release of the SharpCap collimation overlay script.
Features:
- Auto-detection of defocused star donut pattern
- Real-time overlay with inner/outer circle fitting
- 6 display modes cycled via toolbar button
- Offset measurement with quality ratings
- Gradient-based outer edge detection for accuracy across variable brightness
- Console commands for debugging and control