中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php怎樣生成縮略圖不失真

發布時間:2022-02-05 15:44:18 來源:億速云 閱讀:253 作者:柒染 欄目:編程語言

今天給大家介紹一下php怎樣生成縮略圖不失真。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。

本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦

php 怎么生成縮略圖不失真?

使用php函數等比例生成圖片縮略圖不失真的代碼

//等比例生成圖片縮略圖不失真

/**
    * 生成縮略圖
    * $imgSrc           圖片源路徑
    * $resize_width     圖片寬度
    * $resize_height    圖片高度
    * $dstimg           縮略圖路徑
    * $isCut            是否剪切圖片
    */
     function reSizeImg($imgSrc, $resize_width, $resize_height, $dstimg, $isCut = false) {
        //圖片的類型
        $type = substr(strrchr($imgSrc, "."), 1);
        //初始化圖象
        if ($type == "jpg" || $type == "jpeg") {
            $im = imagecreatefromjpeg($imgSrc);
        }
        if ($type == "gif") {
            $im = imagecreatefromgif($imgSrc);
        }
        if ($type == "png") {
            $im = imagecreatefrompng($imgSrc);
        }

        $width = imagesx($im);
        $height = imagesy($im);

        //生成圖象
        //改變后的圖象的比例
        $resize_ratio = ($resize_width) / ($resize_height);
        //實際圖象的比例
        $ratio = ($width) / ($height);
        if (($isCut) == 1) {
            if ($ratio >= $resize_ratio) {
                //高度優先
                $newimg = imagecreatetruecolor($resize_width, $resize_height);
                imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, (($height) * $resize_ratio), $height);
                ImageJpeg($newimg, $dstimg);
            }
            if ($ratio < $resize_ratio) {
                //寬度優先
                $newimg = imagecreatetruecolor($resize_width, $resize_height);
                imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, $width, (($width) / $resize_ratio));
                ImageJpeg($newimg, $dstimg);
            }
        } else {
            if ($ratio >= $resize_ratio) {
                $newimg = imagecreatetruecolor($resize_width, ($resize_width) / $ratio);
                imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, ($resize_width) / $ratio, $width, $height);
                ImageJpeg($newimg, $dstimg);
            }
            if ($ratio < $resize_ratio) {
                $newimg = imagecreatetruecolor(($resize_height) * $ratio, $resize_height);
                imagecopyresampled($newimg, $im, 0, 0, 0, 0, ($resize_height) * $ratio, $resize_height, $width, $height);
                ImageJpeg($newimg, $dstimg);
            }
        }
        ImageDestroy($im);
    }

$result = reSizeImg('images/15M.jpg', 1280, 1280,'thumb/xiao15.jpg');

以上就是php怎樣生成縮略圖不失真的全部內容了,更多與php怎樣生成縮略圖不失真相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

朝阳区| 雅江县| 泸西县| 泽普县| 汽车| 杂多县| 临沭县| 隆化县| 九龙县| 五寨县| 万宁市| 肇州县| 永昌县| 嵊泗县| 广德县| 鹤山市| 德庆县| 环江| 大港区| 靖江市| 友谊县| 宿州市| 仙游县| 黄浦区| 乌兰浩特市| 固阳县| 吴旗县| 犍为县| 安阳市| 库伦旗| 亚东县| 奉新县| 福州市| 楚雄市| 准格尔旗| 彰化市| 巩义市| 原平市| 宜阳县| 山东| 万安县|