Files
2025-09-29 00:52:08 +02:00

53 lines
1.8 KiB
PowerShell
Executable File

function GenerateImage($filepath, $width, $height, $text)
{
Add-Type -AssemblyName System.Drawing
$rect = [System.Drawing.RectangleF]::FromLTRB(0, 0, $width, $height)
$format = [System.Drawing.StringFormat]::GenericDefault
$format.Alignment = [System.Drawing.StringAlignment]::Center
$format.LineAlignment = [System.Drawing.StringAlignment]::Center
$pixelFormat = [System.Drawing.Imaging.PixelFormat]::Format24bppRgb
$bmp = new-object System.Drawing.Bitmap $width,$height,$pixelFormat
$font = new-object System.Drawing.Font Consolas,28
$brushBg = [System.Drawing.Brushes]::Black
$brushFg = [System.Drawing.Brushes]::Yellow
$graphics = [System.Drawing.Graphics]::FromImage($bmp)
$graphics.SmoothingMode = "AntiAlias"
$graphics.FillRectangle($brushBg, 0, 0, $bmp.Width, $bmp.Height)
$graphics.DrawString($text, $font, $brushFg, $rect, $format)
$graphics.Dispose()
$encoder = [System.Drawing.Imaging.Encoder]::ColorDepth
$encoderParamSet = New-Object System.Drawing.Imaging.EncoderParameters(1)
$encoderParamSet.Param[0] = New-Object System.Drawing.Imaging.EncoderParameter($encoder, 24)
$pngCodec = [System.Drawing.Imaging.ImageCodecInfo]::GetImageEncoders() | Where{$_.MimeType -eq 'image/png'}
$bmp.Save($filepath, $pngCodec, $encoderParamSet)
}
$basepath = Convert-Path .
$basepath = $basepath + '\'
$fileprefix = "activitycard"
$textprefix = "activitycard"
$textsuffix = " placeholder"
$imgwidth = 864
$imgheight = 1040
$numimages = 4
for ($i = 0; $i -le $numimages; $i++)
{
$number = ([string]$i).PadLeft(2,'0')
$text = $textprefix + $number + $textsuffix
$path = $basepath + $fileprefix + $number + ".png"
Write-Output ("Generating " + $path)
GenerateImage $path $imgwidth $imgheight $text
}