【问题标题】:Perl, Image::Magick, lost bytes when writingPerl,Image::Magick,写入时丢失字节
【发布时间】:2012-10-28 18:46:42
【问题描述】:

晚上好。

有问题。

my $image = Image::Magick->new;
$image->Read($upload->tempname . '[0]');
$image->Write(filename => $upload_file_name, compression => 'None');

执行后文件大小($upload->tempname 和 $upload_file_name)不匹配。 图像格式为 jpg($upload->tempname 为 JPEG,$upload_file_name 为 JPEG)。 可能有什么问题?

【问题讨论】:

    标签: perl imagemagick


    【解决方案1】:

    Image::Magick 可能会重新编码图像,而不是使用最初编码时使用的完全相同的算法和参数。

    如果您只是重命名文件,为什么还要使用 Image::Magick?

    【讨论】:

    • 我不想更改 JPEG 图像。我要压缩的所有其他类型的图像。使用 Image::Magitsk 我确定图像的 MIME 类型。
    • 那么在您阅读 JPEG 图像后,没有理由Write()。您可以使用 copy($upload->tempname.'[0]', $upload_file_name) 从 File::Copy 复制它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    相关资源
    最近更新 更多