[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]一段图片处理代码 win10可以,win7不行 哪里错了?

本帖最后由 ximenhao 于 2023-1-23 14:40 编辑

目的就是:
1:文件夹中有几百 几千张图片;
2:需要把原本的图片修改下。提取图片的文件名 并写在 图片下面(不能盖住 原本图片内容),生成一张新图片

代码是:根据原本图片的宽度,再写个高,生成一张白底黑字的图片,然后把图片的文件名写在这个白底上,这一系列动作之后的新图片 例如叫:A图片。然后 原图片 我们叫B图片,最后就是A和B 合并,A在B的底下;

win7运行不了啊 哪里出错啦 求教下。


  1. <# :
  2. @echo off
  3. rem 字体靠左显示的,想更改可以改18行的那个0,字体大小可以改17行的24.0
  4. powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0' |Out-String|Invoke-Expression"
  5. pause
  6. #>
  7. [system.reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
  8. function mer($path1, $text, $path2){
  9.         $pic = New-Object System.Drawing.Bitmap($path1)
  10.         $out=New-Object Drawing.Bitmap $pic.Width,($pic.Height+50)
  11.         $g=[Drawing.Graphics]::FromImage($out)
  12.         $g.DrawImage($pic,0,0,$pic.Width,$pic.Height)
  13.         $pic1=New-Object Drawing.Bitmap $pic.Width,50
  14.         $g1=[Drawing.Graphics]::FromImage($pic1)
  15.         $g1.FillRectangle([System.Drawing.Brushes]::White, 0, 0, $pic.Width, 50)
  16.         $g.DrawImage($pic1,0,$pic.Height,$pic.Width,50)
  17.         $font=[System.Drawing.Font]::new("宋体",24.0)
  18.         $g.DrawString($text,$font,[System.Drawing.Brushes]::Black,0,$pic.Height+15)
  19.         $out.Save($path2)
  20.         $pic.Dispose()
  21.         $pic1.Dispose()
  22. }
  23. $ext=@('.jpg', '.jpeg', '.bmp', '.png', '.gif', '.TIF');
  24. dir |?{($ext -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])}|%{
  25.         mer -path1 $_.fullname -text $_.basename -path2 $_.fullname.replace($_.Extension, (“_1”+$_.Extension))
  26. }
复制代码

我看调用了powershell,win7上的powershell版本比较老了,可能有些高级命令还没有,等待高手解答……
回望过去,展望未来。

TOP

回复 2# 谐夜落风


    17行改成
$font=New-Object System.Drawing.Font("宋体", 24)
1

评分人数

TOP

回复 3# pd1


    大侠 牛逼了,居然成了 哈哈!非常感谢啊!!!我差点就要因为这个问题 把win7给升级win10了。现在不用了  哈哈

TOP

不过话说,既然代码全是bat调用powershell,那不如发powershell求助区,哈哈
回望过去,展望未来。

TOP

返回列表