2017-08-02 15 views
2

画像が1024x768より大きいかどうかを確認するためにここにこのスクリプトがあります。これらの画像を1024×768にリサイズするにはどうすればよいですか?画像のサイズを変更する方法

function Get-Image{ 
process { 
      $file = $_ 
      [Drawing.Image]::FromFile($_.FullName) | 
      ForEach-Object{   
      $_ | Add-Member -PassThru NoteProperty FullName ('{0}' -f $file.FullName) 
      } 
     } 
}  
Get-ChildItem -Path 'E:\Parts' -Filter *.jpg -Recurse | Get-Image | ? { $_.Width -gt 1024 -or $_.Height -gt 768 } | select -expa Fullname | get-item 
+0

ランチョスリサンプリングは、単純な画像のサイズ変更に共通のアプローチです。 – bipll

答えて

0

あなたはこのためにWIA(Windowsイメージの取得)を使用することができます。

$wia = New-Object -com wia.imagefile 
$wia.LoadFile("d:\tobi.jpg") 
$wip = New-Object -ComObject wia.imageprocess 
$scale = $wip.FilterInfos.Item("Scale").FilterId      
$wip.Filters.Add($scale) 
$wip.Filters[1].Properties("MaximumWidth") = 1024 
$wip.Filters[1].Properties("MaximumHeight") = 768 
#aspect ratio should be set as false if you want the pics in exact size 
$wip.Filters[1].Properties("PreserveAspectRatio") = $false 
$wip.Apply($wia) 
$newimg = $wip.Apply($wia) 
$newimg.SaveFile("d:\tobi0.jpg") 
関連する問題