【问题标题】:Pull images and file owner through PowerShell to ImageMagick 'Montage'通过 PowerShell 将图像和文件所有者拉到 ImageMagick 'Montage'
【发布时间】:2018-07-14 11:13:34
【问题描述】:

我正在尝试构建一个 PowerShell 脚本,它将递归地从特定目录中提取 jpg,并通过 ImageMagick montage 运行它们以创建一个以文件名作为标签的联系表。截至目前,我的$filename 代码已损坏,因为它只为所有具有相同文件名的图像提供最后一个文件的名称和标签。

目前我有:

foreach ($dailyPhotoBay in $dailyServerPath)
{
$dailyImage = Get-ChildItem -Path $dailyPhotoBay -Include *.jpg -Recurse | Where-Object {$_.PSParentPath -like "*Output*"}

foreach ($image in $dailyImage)
{
    $fileName = [System.IO.Path]::GetFileNameWithoutExtension($dailyImage)
    }
    echo $fileName

    montage -verbose -label $fileName -pointsize 20 -background '#FFFFFF' -tile '5x40' -fill 'black' -define jpeg:size=600x780 -geometry 600x780+40+150 -quality 90  -auto-orient $dailyImage.FullName D:\Contact_Sheet\Sheet.jpg
}

使用此代码提取所有图像并且联系表看起来正确,除了所有图像都标记为相同 - 最后一个图像的名称。

一如既往,感谢您的帮助。

谢谢!

【问题讨论】:

  • 您似乎混淆了$image$dailyImage,获取了错误的文件名或放置了错误的标签。
  • @TessellatingHeckler 我想你可能是对的,谢谢!

标签: powershell imagemagick imagemagick-montage


【解决方案1】:

在 ImageMagick 中,使用 %f 在蒙太奇中显示带后缀的文件名,或使用 %t 显示文件名(不带后缀)。 ImageMagick 应该剥离路径。因此,创建一个变量 $filenames ,其中包含具有不同名称的文件列表。带有或不带有路径的后缀。

例如:

convert logo: /Users/fred/desktop/logo.png

获取文件名.suffx:

montage -label "%f" /Users/fred/desktop/logo.png montage1.png

或者只获取不带后缀的文件名

montage -label "%t" /Users/fred/desktop/logo.png montage2.png

因此,如果您希望显示带后缀的文件名,请为您的蒙太奇执行以下操作:

montage -verbose -label "%f" -pointsize 20 -background '#FFFFFF' -tile '5x40' -fill 'black' -define jpeg:size=600x780 -geometry 600x780+40+150 -quality 90  -auto-orient $dailyImage D:\Contact_Sheet\Sheet.jpg


或者如果您想要不带后缀的文件名,请执行以下操作:

montage -verbose -label "%t" -pointsize 20 -background '#FFFFFF' -tile '5x40' -fill 'black' -define jpeg:size=600x780 -geometry 600x780+40+150 -quality 90  -auto-orient $dailyImage D:\Contact_Sheet\Sheet.jpg


对不起,我不知道 PowerShell。所以我不能告诉你如何从你的目录中获取文件名列表。

http://www.imagemagick.org/script/escape.php http://www.imagemagick.org/Usage/montage/#label

【讨论】:

  • 感谢这个显而易见的解决方案。我不知道为什么我偏离了这个更简单的功能。谢谢!
猜你喜欢
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
相关资源
最近更新 更多