36 lines
1.2 KiB
PowerShell
36 lines
1.2 KiB
PowerShell
$ErrorActionPreference = 'Stop'
|
|
|
|
$root = Split-Path -Parent $PSScriptRoot
|
|
Add-Type -AssemblyName System.Drawing
|
|
|
|
$assets = @(
|
|
'static/assets/icons/common/location-v1.png',
|
|
'static/assets/icons/common/member-meta-v1.png',
|
|
'static/assets/icons/common/admin-v1.png',
|
|
'static/assets/icons/genealogy/seal-current-frame-v1.png',
|
|
'static/assets/icons/genealogy/seal-row-frame-v1.png',
|
|
'static/assets/icons/action/create-cloud-v1.png'
|
|
)
|
|
|
|
foreach ($asset in $assets) {
|
|
$bitmap = [System.Drawing.Bitmap]::FromFile((Join-Path $root $asset))
|
|
$width = [int]$bitmap.Width
|
|
$height = [int]$bitmap.Height
|
|
$corners = @(
|
|
$bitmap.GetPixel(0, 0).A,
|
|
$bitmap.GetPixel(($width - 1), 0).A,
|
|
$bitmap.GetPixel(0, ($height - 1)).A,
|
|
$bitmap.GetPixel(($width - 1), ($height - 1)).A
|
|
)
|
|
$visiblePixels = 0
|
|
for ($y = 0; $y -lt $height; $y++) {
|
|
for ($x = 0; $x -lt $width; $x++) {
|
|
if ($bitmap.GetPixel($x, $y).A -gt 24) { $visiblePixels++ }
|
|
}
|
|
}
|
|
$bitmap.Dispose()
|
|
if (($corners | Where-Object { $_ -ne 0 }).Count -ne 0) { throw "$asset has opaque outer corners." }
|
|
if ($visiblePixels -lt 80) { throw "$asset has no usable visible artwork." }
|
|
Write-Output "PASS $asset transparent corners and visible artwork"
|
|
}
|