Perl图像::Magick转换格式

Perl图像::Magick转换格式,perl,imagemagick,Perl,Imagemagick,几个月前,我在perl服务器上安装了,但现在我出现了意想不到的行为 经过几个小时的研究,我遇到了一些问题 我要做的是将一个图像从.png转换成.jpg 这里没有问题。。问题来了。基本上,我转换的文件“.jpg”在转换后总是比.png大 下面是我的代码片段: my $image = Image::Magick->new; my $x = $image->Read($serverPathDir.'/'.$serverFileName); # an .png file $

几个月前,我在perl服务器上安装了,但现在我出现了意想不到的行为

经过几个小时的研究,我遇到了一些问题

我要做的是将一个图像从.png转换成.jpg

这里没有问题。。问题来了。基本上,我转换的文件“.jpg”在转换后总是比.png大

下面是我的代码片段:

my $image = Image::Magick->new;

my  $x = $image->Read($serverPathDir.'/'.$serverFileName);  # an .png file 

    $x = $image->Set( Gravity => 'Center' );
    $x = $image->Resize(geometry=>'435x210'); 
    $x = $image->Set(Quality=>'80%');
    $x = $image->Write($serverPathDir.'/'.'.jpg');

经过一些研究和理论,我意识到这种问题可能存在于特定的图像中。。当我测试其他图像时,结果更令人满意,但与GIMP(png到jpg)不同。。。我不知道压缩机用的是什么,但似乎和其他压缩机很不一样。。ie:GIMP

转换为jpg并更改原始尺寸时,请使用8的倍数。因此,将调整大小更改为“436x216”的几何图形,看看是否有帮助


有关更多信息,请参见。转换为jpg并更改原始尺寸时,请使用8的倍数。因此,将调整大小更改为“436x216”的几何图形,看看是否有帮助


有关更多信息,请参见。问题可能与已压缩的PNG文件有关

转换为其他格式时,必须解压缩图像。然后将其压缩为另一种格式,这种格式可能无法像原始格式那样进行压缩。
此外,使用调色板(仅包含实际使用的颜色)可以对颜色较少的PNG进行更大的压缩

因此,如果有足够大的样本量,实际上很可能找到JPEG版本更大的文件

你可以在网上了解更多


我只会将大于任意大小的文件转换为JPEG格式(较大的文件更可能是照片),除非您绝对需要使用JPEG格式。(例如,无法读取PNG文件的程序)

问题可能与已压缩的PNG文件有关

转换为其他格式时,必须解压缩图像。然后将其压缩为另一种格式,这种格式可能无法像原始格式那样进行压缩。
此外,使用调色板(仅包含实际使用的颜色)可以对颜色较少的PNG进行更大的压缩

因此,如果有足够大的样本量,实际上很可能找到JPEG版本更大的文件

你可以在网上了解更多


我只会将大于任意大小的文件转换为JPEG格式(较大的文件更可能是照片),除非您绝对需要使用JPEG格式。(例如,无法读取PNG文件的程序)

436不是8的倍数。我建议448保持与435x210相似的比例。嗨,伙计们,我遵循了你们的建议,但我的问题仍然存在。。另外,将大小调整到448,使我的“.jpg”更大,我的standart.png大约有159kb。。已转换为.jpg~191kb。。这种行为真奇怪。。还有其他建议吗?谢谢大家。436不是8的倍数。我建议448保持与435x210相似的比例。嗨,伙计们,我遵循了你们的建议,但我的问题仍然存在。。另外,将大小调整到448,使我的“.jpg”更大,我的standart.png大约有159kb。。已转换为.jpg~191kb。。这种行为真奇怪。。还有其他建议吗?谢谢大家。