【发布时间】:2017-12-01 23:03:16
【问题描述】:
我正在尝试将一堆透明的 png 批量转换为 jpg 并且下面的鹅卵石 powershell 可以工作,但是每当我转换所有图像时都会变成黑色。我在这里尝试了答案 Convert Transparent PNG to JPG with Non-Black Background Color 但我得到“使用”关键字不受支持(在模块中也找不到)
$files = Get-ChildItem "C:\Pictures\test" -Filter *.png -file -Recurse |
foreach-object {
$Source = $_.FullName
$test = [System.IO.Path]::GetDirectoryName($source)
$base= $_.BaseName+".jpg"
$basedir = $test+"\"+$base
Write-Host $basedir
Add-Type -AssemblyName system.drawing
$imageFormat = "System.Drawing.Imaging.ImageFormat" -as [type]
$image = [drawing.image]::FromFile($Source)
$image.Save($basedir, $imageFormat::jpeg)
}
据我了解,您需要创建一个具有白色背景的新位图图形并在其上绘制此图像,但对于我来说,我无法弄清楚如何添加它。
【问题讨论】:
-
您引用的答案是用 C# 编写的,而不是 PowerShell。 PowerShell 没有
usingstatement 来保证对象处置,这就是您会收到该语法错误的原因。见How to implement using statement in powershell?。
标签: powershell