イメージファイルのフォーマットを変換する関数を作って見ました。
とりあえず、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 件のコメント:
コメントを投稿