【问题标题】:Compression not working with imagepng压缩不适用于 imagepng
【发布时间】:2013-10-18 23:36:29
【问题描述】:

我有一个简单的函数,它从 url 地址 ($filein) 下载图像,将其存储在本地服务器上,然后根据 imagepng 函数的质量级别应用压缩,如下所示:

function create_img_memoire($REF,$filein)
{
    //get file and store it
    $fileout = '/home/images/public_html/memoire/'.$REF.'.png'; 
    file_put_contents($fileout, file_get_contents($filein));

    //compress it
    $im = imagecreatefrompng($fileout);
    imagepng($im, $fileout, 9);
}

文件已下载,但压缩不起作用。所以功能的第一部分很好,但第二部分不起作用意味着压缩。

【问题讨论】:

  • ...和...?发生了什么或没有发生什么?
  • 对不起,我编辑了问题...
  • 我没有闻到任何压缩的味道。 O.o
  • 是的,你是对的,但是 imagepng 应该压缩 $im 文件吗?
  • 您如何断言“压缩不起作用”?您预计会发生什么,不会发生什么?

标签: php optimization png


【解决方案1】:

所以这里是这个问题的解决方案。我下载了一个 .jpg 文件并将其命名为 .png,因此 mime 类型不是 PNG 而是 JPG!我需要使用 imagecreatefromjpeg 而不是 imagecreatefromfunction

create_img_memoire($REF,$filein)

    {
        //get file and store it
        $fileout = '/home/images/public_html/memoire/'.$REF.'.jpg'; 
        file_put_contents($fileout, file_get_contents($filein));

        //compress it
        $im = imagecreatefromjpeg($fileout);

        $fileout2 = '/home/images/public_html/memoire/'.$REF.'-op9.png'; 
        imagepng($im, $fileout2, 9);
        $fileout3 = '/home/images/public_html/memoire/'.$REF.'-op5.png'; 
        imagepng($im, $fileout3, 5);
        $fileout4 = '/home/images/public_html/memoire/'.$REF.'-op0.png'; 
        imagepng($im, $fileout4, 0);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-23
    • 2016-10-23
    • 2022-11-02
    • 1970-01-01
    • 2020-04-10
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多