chore: add license file, add icons, images flow, update readme

This commit is contained in:
2026-08-26 18:07:44 +05:00
parent ea09f47938
commit 4c33bba276
29 changed files with 294 additions and 33 deletions
+44 -3
View File
@@ -1,7 +1,8 @@
param(
[string]$ProcName = "bropicker",
[int]$ProcId = 0,
[string]$Out = "tools/out/app.png"
[string]$Out = "tools/out/app.png",
[switch]$Card
)
$ErrorActionPreference = "Stop"
@@ -18,6 +19,7 @@ public class BpWin {
[DllImport("user32.dll")] public static extern bool GetWindowRect(IntPtr hWnd, out RECT rect);
[DllImport("user32.dll")] public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")] public static extern bool SetWindowPos(IntPtr hWnd, IntPtr after, int x, int y, int cx, int cy, uint flags);
[DllImport("user32.dll")] public static extern uint GetDpiForWindow(IntPtr hWnd);
[StructLayout(LayoutKind.Sequential)]
public struct RECT { public int Left; public int Top; public int Right; public int Bottom; }
}
@@ -64,11 +66,50 @@ if ($w -le 0 -or $h -le 0) {
}
Add-Type -AssemblyName System.Drawing
$bmp = New-Object System.Drawing.Bitmap($w, $h)
$g = [System.Drawing.Graphics]::FromImage($bmp)
$full = New-Object System.Drawing.Bitmap($w, $h)
$g = [System.Drawing.Graphics]::FromImage($full)
$g.CopyFromScreen($rect.Left, $rect.Top, 0, 0, (New-Object System.Drawing.Size($w, $h)))
$g.Dispose()
if ($Card) {
$dpi = [BpWin]::GetDpiForWindow($found)
$scale = if ($dpi -gt 0) { $dpi / 96.0 } else { 1.0 }
$inset = [int][Math]::Round(20 * $scale)
$radius = [int][Math]::Round(16 * $scale)
$clipInset = 2
$cw = $w - 2 * $inset - 2 * $clipInset
$ch = $h - 2 * $inset - 2 * $clipInset
$srcX = $inset + $clipInset
$srcY = $inset + $clipInset
$radius = [Math]::Max(1, $radius - $clipInset)
$bmp = New-Object System.Drawing.Bitmap($cw, $ch)
$g2 = [System.Drawing.Graphics]::FromImage($bmp)
$g2.SmoothingMode = [System.Drawing.Drawing2D.SmoothingMode]::AntiAlias
$g2.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic
$cardPath = New-Object System.Drawing.Drawing2D.GraphicsPath
$cardPath.AddArc(0, 0, $radius, $radius, 180, 90)
$cardPath.AddArc($cw - $radius, 0, $radius, $radius, 270, 90)
$cardPath.AddArc($cw - $radius, $ch - $radius, $radius, $radius, 0, 90)
$cardPath.AddArc(0, $ch - $radius, $radius, $radius, 90, 90)
$cardPath.CloseFigure()
$g2.SetClip($cardPath)
$srcRect = New-Object System.Drawing.Rectangle($srcX, $srcY, $cw, $ch)
$dstRect = New-Object System.Drawing.Rectangle(0, 0, $cw, $ch)
$g2.DrawImage($full, $dstRect, $srcRect, [System.Drawing.GraphicsUnit]::Pixel)
$g2.Dispose()
$cardPath.Dispose()
$full.Dispose()
$w = $cw
$h = $ch
} else {
$bmp = $full
}
$outDir = Split-Path -Parent (Join-Path $PWD $Out)
New-Item -ItemType Directory -Force -Path $outDir | Out-Null
$outAbs = [System.IO.Path]::GetFullPath((Join-Path $PWD $Out))