zoukankan      html  css  js  c++  java
  • 按规定宽度等比压缩图片(压缩后图片的大小也会被压缩)


    $newWidth=600;

    $file_path='D:/myWorkspace/get_img/deal_img/jiaShuiYin/1.jpg';

    $newName='D:/myWorkspace/get_img/deal_img/jiaShuiYin/2.jpg';

    resizeImage($newWidth,$file_path,$newName);

    /*
    功能:按规定宽度等比压缩图片(压缩后图片的大小也会被压缩)
    */
    function resizeImage($maxwidth,$file_path,$name)
    {

    $im=imagecreatefromjpeg($file_path);
    $pic_width = imagesx($im);
    $pic_height = imagesy($im);

    if($maxwidth && $pic_width > $maxwidth)
    {
    $ratio = $maxwidth/$pic_width;

    $newwidth = $maxwidth;
    $newheight = $pic_height * $ratio;
    if(function_exists("imagecopyresampled"))
    {
    $newim = imagecreatetruecolor($newwidth,$newheight);
    $state=imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
    }else
    {
    $newim = imagecreate($newwidth,$newheight);
    $state=imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
    }
    if($state)
    {
    if(!imagejpeg($newim,$name)){
    write_log($name,"图片写入出错");
    }
    imagedestroy($newim);
    }else
    {
    write_log($name,"图片写入出错");
    }
    }else
    {
    if (!copy($file_path,$name)) {
    write_log($name,"图片copy出错");
    }
    }
    }

  • 相关阅读:
    ant design pro梳理
    JSON.stringify()
    数组小细节
    js this细节
    策略模式解决if-else过多
    使用useState的赋值函数异步更新问题
    Hook
    React Api
    Intent
    树的非递归遍历
  • 原文地址:https://www.cnblogs.com/linjinzhuang/p/6531869.html
Copyright © 2011-2022 走看看