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

使用的是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 @   会飞的一棵树  阅读(846)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示