一键批处理图片的脚本(将指定目录中的图片处理成要求的分辨率)

使用的是imagemagick来处理图片

#BatchPicHandle v1.0
#---by Flytree
#设置powershell 窗口大小
$win=$Host.UI.RawUI.WindowSize
$win.Height=10
$win.Width=30
$Host.UI.RawUI.Set_windowsize($win)
cd C:\Users\flytree\Desktop\PicDown
[system.reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
Get-ChildItem C:\Users\flytree\Desktop\PicDown | ForEach-Object -Process{
if($_ -is [System.IO.FileInfo])
    {
    $picname = $_.BaseName
        if($_.Name.Contains("png")){
            $objPic = [System.Drawing.Image]::FromFile($_.FullName)
            Write-Host 'Deal PNG Image'
            #如果是方图
            if($objPic.width -eq $objPic.height){
            Write-Host 'Find Logo'
            magick convert $_.Name -background white -flatten -resize x150 ../PicHandle/$picname.jpg
            }
            #如果是横图
            if($objPic.width -gt $objPic.height){
            Write-Host 'Find horizontal'
            magick convert $_.Name -resize 550 ../PicHandle/$picname.jpg
            }
            #如果是竖图
            if($objPic.width -lt  $objPic.height){
            Write-Host 'Find vertical'
            magick convert $_.Name -resize x550 ../PicHandle/$picname.jpg
            }
            #释放并删除文件
            $objPic.Dispose()
            Remove-Item -Force $_.FullName
        }
    }
}

 然后修改注册表,使得双击运行,就能快速的使用脚本了。

posted @ 2020-07-15 12:51  会飞的一棵树  阅读(827)  评论(0编辑  收藏  举报