縦長画像の幅を2倍にし、画像を中央に配置、余白部分は黒色をセット。
<#
.SYNOPSIS
縦長画像の横幅を広げる
.EXAMPLE
.\WideImage.ps1 .\aaa.png
.PARAMETER ImgPath
画像ファイル
.PARAMETER Help
ヘルプスイッチ
.LINK
関連URL
#>
using namespace System.Drawing
using namespace System.IO
param(
[string]
$ImgPath = "E:\Real-CUGAN\out\024.png",
[switch]
$Help
)
# アセンブリのロード
Add-Type -AssemblyName System.Drawing
$fs = [FileStream]::new($ImgPath, [FileMode]::Open, [FileAccess]::Read)
$bmp = [Bitmap]::FromStream($fs)
$fs.Close()
$w = $bmp.Width * 2
$h = $bmp.Height
$outBmp = [Bitmap]::new($w, $h)
$rect = [Rectangle]::new($bmp.Width / 2, 0, $bmp.Width, $bmp.Height)
$g = [Graphics]::FromImage($outBmp)
$g.Clear([Color]::Black)
$g.DrawImage($bmp, $rect, 0, 0, $bmp.Width, $bmp.Height, 2)
$g.Dispose()
$outDir = Split-Path $ImgPath -Parent
$outFile = Split-Path $ImgPath -Leaf
$outBase = [Path]::GetFileNameWithoutExtension($outFile)
$outExt = [Path]::GetExtension($outFile)
$outPath = Join-Path $outDir ($outBase + "-W" + $outExt)
Write-Host $outPath
$outBmp.Save($outPath, $bmp.RawFormat.Guid)
コメント