2017-08-02 85 views
2

我有这里的脚本来检查图片是否大于1024x768。那么如何将这些图片的大小调整为1024x768?如何调整大小的图片如果他们大于

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") 
相关问题