站長資訊網
        最全最豐富的資訊網站

        php圖片類型如何轉換

        php圖片類型轉換的實現方法:首先安裝php擴展gd和exif;然后通過“transform_image”方法實現圖片類型轉換;最后返回轉換結果即可。

        php圖片類型如何轉換

        推薦:《PHP視頻教程》

        需求

        開發過程中總會遇到一些需求需要對圖片格式進行轉換。比如 gif轉png,jpg轉png

        如最近使用某平臺的圖片文件識別,居然不支持gif格式,那么就需要將gif處理成png等。

        依賴

        php擴展 gd 和 exif

        實現

        /**  * 圖片格式轉換  * @param string $image_path 文件路徑或url  * @param string $to_ext 待轉格式,支持png,gif,jpeg,wbmp,webp,xbm  * @param null|string $save_path 存儲路徑,null則返回二進制內容,string則返回true|false  * @return boolean|string $save_path是null則返回二進制內容,是string則返回true|false  * @throws Exception   * @author klinson <klinson@163.com>  */ function transform_image($image_path, $to_ext = 'png', $save_path = null) {   if (! in_array($to_ext, ['png', 'gif', 'jpeg', 'wbmp', 'webp', 'xbm'])) {     throw new Exception('unsupport transform image to ' . $to_ext);   }   switch (exif_imagetype($image_path)) {     case IMAGETYPE_GIF :       $img = imagecreatefromgif($image_path);       break;     case IMAGETYPE_JPEG :     case IMAGETYPE_JPEG2000:       $img = imagecreatefromjpeg($image_path);       break;     case IMAGETYPE_PNG:       $img = imagecreatefrompng($image_path);       break;     case IMAGETYPE_BMP:     case IMAGETYPE_WBMP:       $img = imagecreatefromwbmp($image_path);       break;     case IMAGETYPE_XBM:       $img = imagecreatefromxbm($image_path);       break;     case IMAGETYPE_WEBP: //(從 PHP 7.1.0 開始支持)       $img = imagecreatefromwebp($image_path);       break;     default :       throw new Exception('Invalid image type');   }   $function = 'image'.$to_ext;   if ($save_path) {     return $function($img, $save_path);   } else {     $tmp = __DIR__.'/'.uniqid().'.'.$to_ext;     if ($function($img, $tmp)) {       $content = file_get_contents($tmp);       unlink($tmp);       return $content;     } else {       unlink($tmp);       throw new Exception('the file '.$tmp.' can not write');     }   } }

        使用

        // 轉換后保存在test.png transform_image($url, 'png', './test.png'); transform_image($filepath, 'png', './test.png'); // 轉換后二進制結果直接返回 transform_image($url, 'png'); transform_image($filepath, 'png');

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产午夜精品久久久久免费视| 青青青国产依人精品视频| 3D动漫精品一区二区三区| 精品视频在线观看你懂的一区| 国产精品久久久久久福利漫画| 亚洲AV无码乱码精品国产| 国产精品免费一区二区三区| 国产精品视频a播放| 欧美精品中文字幕亚洲专区| 四虎国产精品永免费| 国产精品永久免费视频| 1区1区3区4区产品芒果精品| 国产精品欧美一区二区三区不卡 | 亚洲精品人成在线观看| 国产精品天干天干综合网| 亚洲AV无码国产精品色午友在线 | 精品福利一区二区三区免费视频 | 精品国产福利久久久| 国产麻豆一精品一AV一免费 | 一本精品中文字幕在线| 久久伊人精品青青草原日本 | 精品人妻码一区二区三区| 亚洲精品无码国产| 在线观看国产精品普通话对白精品 | 久久精品人妻一区二区三区| 国产福利电影一区二区三区,亚洲国模精品一区 | 久久精品亚洲男人的天堂| 国产精品男男视频一区二区三区| 亚洲愉拍自拍欧美精品| 91亚洲精品自在在线观看| 国产69精品久久久久9999| 97久视频精品视频在线老司机 | 亚洲精品小视频| 91麻豆精品国产91久久久久久 | 国产精品你懂得| 九九精品成人免费国产片| 久久精品草草草| 中文字幕一区二区精品区| 91精品在线国产| 精品国产不卡一区二区三区| 久久精品成人|