イメージファイルのフォーマットを変換する関数を作って見ました。
とりあえず、bmp、jpg、pngに対応していますが、以下の種類に対応可能なようなので、
ImageFormat メンバ
必要に応じてパラメータを増やすか、上記メンバーを直接指定するように変更すると良いでしょう。
| 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 | function Convert-Image { [CmdletBinding(DefaultParametersetName="png")] param( [parameter(Mandatory=$true)] [ValidateScript({Test-Path $_})] $path, [Parameter(ParameterSetName="bmp")] [switch]$ToBmp, [Parameter(ParameterSetName="jpeg")] [switch]$ToJpg, [Parameter(ParameterSetName="png")] [switch]$ToPng ) $toimage = [System.Drawing.Imaging.ImageFormat]::($PsCmdlet.ParameterSetName) dir $path | %{ $fname = $_.fullname $newExtension = "." + $PsCmdlet.ParameterSetName if($_.Extension -eq $newExtension){"not target:$($_.Extension)";exit} $newFileName = $fname -replace $_.Extension , $newExtension $img = new-object system.drawing.bitmap $fname $img.save($newFileName,$toimage) $img.Dispose() Remove-Item $fname -Confirm } } Convert-Image -path d:\Desktop\*.png -ToBmp |
0 件のコメント:
コメントを投稿