53 lines
1.6 KiB
PowerShell
53 lines
1.6 KiB
PowerShell
Add-Type -AssemblyName PresentationCore,WindowsBase
|
|
|
|
$path = 'c:\Users\Administrator\Documents\PaaS\photobooth\src\assets\1.png'
|
|
$fs = [System.IO.File]::OpenRead($path)
|
|
$decoder = [System.Windows.Media.Imaging.BitmapDecoder]::Create(
|
|
$fs,
|
|
[System.Windows.Media.Imaging.BitmapCreateOptions]::None,
|
|
[System.Windows.Media.Imaging.BitmapCacheOption]::OnLoad
|
|
)
|
|
$frame = $decoder.Frames[0]
|
|
$w = $frame.PixelWidth
|
|
$h = $frame.PixelHeight
|
|
$stride = $w * 4
|
|
$bytes = New-Object byte[] ($stride * $h)
|
|
$frame.CopyPixels($bytes, $stride, 0)
|
|
$fs.Close()
|
|
|
|
Write-Host "=== Measuring 1.png ($w x $h) ==="
|
|
|
|
# Manually check specific pixels to find exact boundaries
|
|
Write-Host "`nSlot 1 - around Y=180:"
|
|
$y = 180
|
|
for ($x = 70; $x -le 520; $x += 50) {
|
|
$i = ($y * $stride) + ($x * 4)
|
|
$b = $bytes[$i]
|
|
$g = $bytes[$i + 1]
|
|
$r = $bytes[$i + 2]
|
|
$char = if ($r -gt 200 -and $g -gt 200 -and $b -gt 200) { "█" } else { "." }
|
|
Write-Host " x=$x : $char RGB($r,$g,$b)"
|
|
}
|
|
|
|
Write-Host "`nSlot 2 - around Y=700:"
|
|
$y = 700
|
|
for ($x = 70; $x -le 520; $x += 50) {
|
|
$i = ($y * $stride) + ($x * 4)
|
|
$b = $bytes[$i]
|
|
$g = $bytes[$i + 1]
|
|
$r = $bytes[$i + 2]
|
|
$char = if ($r -gt 200 -and $g -gt 200 -and $b -gt 200) { "█" } else { "." }
|
|
Write-Host " x=$x : $char RGB($r,$g,$b)"
|
|
}
|
|
|
|
Write-Host "`nSlot 3 - around Y=1200:"
|
|
$y = 1200
|
|
for ($x = 70; $x -le 520; $x += 50) {
|
|
$i = ($y * $stride) + ($x * 4)
|
|
$b = $bytes[$i]
|
|
$g = $bytes[$i + 1]
|
|
$r = $bytes[$i + 2]
|
|
$char = if ($r -gt 200 -and $g -gt 200 -and $b -gt 200) { "█" } else { "." }
|
|
Write-Host " x=$x : $char RGB($r,$g,$b)"
|
|
}
|