Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net PowerShell旋转图像大小问题_.net_Image_Winforms_Powershell - Fatal编程技术网

.net 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图像

我正在使用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图像会增长到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做到了这一点。照片的尺寸现在变小了,这很有趣,但不是问题,因为它实际上对我有帮助。