.net PowerShell旋转图像大小问题
我正在使用PowerShell旋转图像。我的代码如下所示:.net PowerShell旋转图像大小问题,.net,image,winforms,powershell,.net,Image,Winforms,Powershell,我正在使用PowerShell旋转图像。我的代码如下所示: $path = "C:\img.jpg" [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms"); $i = new-object System.Drawing.Bitmap $path $i.RotateFlip("Rotate90FlipNone") $i.Save($path,"png") 它正在正确旋转,但旋转后图像的大小变得非常大。1.5MB图像
$path = "C:\img.jpg"
[Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
$i = new-object System.Drawing.Bitmap $path
$i.RotateFlip("Rotate90FlipNone")
$i.Save($path,"png")
它正在正确旋转,但旋转后图像的大小变得非常大。1.5MB图像会增长到5MB到12MB之间。有人知道这是为什么以及如何修复吗?您可以旋转图像,还可以进行从JPG到PNG的转换。PNG支持无损数据压缩,而JPEG是一种有损格式,输出文件通常较小。对于一个实验,你可以拿一些png图像来代替jpeg,然后旋转它-然后大小可能不会改变或者改变一点。如果你不想让它变大,你应该试着这样保存它
$i.Save($path,"jpeg")
您可以旋转图像,还可以执行从JPG到PNG的转换。PNG支持无损数据压缩,而JPEG是一种有损格式,输出文件通常较小。对于一个实验,你可以拿一些png图像来代替jpeg,然后旋转它-然后大小可能不会改变或者改变一点。如果你不想让它变大,你应该试着这样保存它
$i.Save($path,"jpeg")
我猜原始图像被严重压缩了。Bitmap.Save()不支持PNG压缩afaikI同意您看到的大小增加是因为您正在解压缩图像以及旋转。这里有一个有趣的参考资料。我猜原始图像被严重压缩了。Bitmap.Save()不支持PNG压缩afaikI同意您看到的大小增加是因为您正在解压缩图像以及旋转。这里有一个有趣的参考资料。我猜原始图像被严重压缩了。Bitmap.Save()不支持PNG压缩afaikI同意您看到的大小增加是因为您正在解压缩图像以及旋转。这里有一个有趣的参考资料。谢谢你,使用jpeg就成功了。照片的大小现在变小了,这很有趣,但这并不是一个问题,因为它实际上对我有帮助。谢谢你,使用jpeg做到了这一点。照片的大小现在变小了,这很有趣,但这并不是一个问题,因为它实际上对我有帮助。谢谢你,使用jpeg做到了这一点。照片的尺寸现在变小了,这很有趣,但不是问题,因为它实际上对我有帮助。