zoukankan      html  css  js  c++  java
  • php压缩图片

    <?php 
        header('content-type:text/html;charset=utf8');
        set_time_limit(0);
        $imgs=scandir('./Public/ueditor/php/upload/image/20160905/');
        $arr=array('1473060007677277.jpg','1473060042860033.jpg','1473060080836580.jpg','1473060121598615.jpg','1473060387209306.jpg','1473060568136526.jpg');
        unset($imgs[0]);unset($imgs[1]);
        foreach($imgs as $k=>$v){
            if(!in_array($v,$arr)){
                subImage('./Public/ueditor/php/upload/image/20160905/'.$v);
                echo $k.'<br/>';
            }
        }
    
        function subImage($img){
            //图片的等比缩放 
    
             //取得源图片的宽度和高度 
             $size_src=getimagesize($img); 
             $w=$size_src['0']; 
             $h=$size_src['1']; 
             $mime=$size_src['mime'];
    
             //因为PHP只能对资源进行操作,所以要对需要进行缩放的图片进行拷贝,创建为新的资源 
             if($mime=='image/jpeg'){
                $src=imagecreatefromjpeg($img); 
             }elseif($mime=='image/png'){
                $src=imagecreatefrompng($img); 
             }else{
                $src=imagecreatefromgif($img); 
             }
    
             //指定缩放出来的最大的宽度(也有可能是高度) 
             $max=300; 
             if($w<=300&&$h<=300){return;}
             //根据最大值为300,算出另一个边的长度,得到缩放后的图片宽度和高度 
             if($w > $h){ 
                 $w=$max; 
                 $h=$h*($max/$size_src['0']); 
             }else{ 
                 $h=$max; 
                 $w=$w*($max/$size_src['1']); 
             } 
             //声明一个$w宽,$h高的真彩图片资源 
             $image=imagecreatetruecolor($w, $h); 
    
               
             //关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h) 
             imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src['0'], $size_src['1']); 
    
             //告诉浏览器以图片形式解析 
             header('content-type:image/png'); 
             imagepng($image,$img); 
    
             //销毁资源 
             imagedestroy($image); 
        }
  • 相关阅读:
    常见排序算法总结(一)
    27.移除元素
    556. 下一个更大元素 III
    503. 下一个更大元素 II
    496.下一个更大元素Ⅰ
    汇编基础
    SQL回顾
    Pandas整理
    爬取中公网新闻时政
    Python合并Excel表格
  • 原文地址:https://www.cnblogs.com/binghuo000/p/6641076.html
Copyright © 2011-2022 走看看