国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
一、出現(xiàn)的問(wèn)題
二、問(wèn)題分析以及解決方案
首頁(yè) 後端開發(fā) php教程 二、問(wèn)題分析以及解決方案

二、問(wèn)題分析以及解決方案

Jun 13, 2016 pm 12:02 PM
gt height resize this width

【PHP縮略圖類】手機(jī)照片不能生成縮略圖問(wèn)題以及解決方案

本文原創(chuàng),謝絕轉(zhuǎn)載

一、出現(xiàn)的問(wèn)題

這幾天做了手機(jī)上傳照片并裁出縮略圖的接口的測(cè)試,發(fā)現(xiàn)不管怎么,生成的縮略圖都是一片漆黑。:-(

然后就把這個(gè)縮略圖類單拿出來(lái)進(jìn)行測(cè)試,發(fā)現(xiàn)只要是手機(jī)拍出來(lái)的照片都不能進(jìn)行縮略圖的處理。。。。


二、問(wèn)題分析以及解決方案


經(jīng)過(guò)群里的請(qǐng)教,發(fā)現(xiàn)問(wèn)題可能是出現(xiàn)在文件的類型的判斷上,因?yàn)閜ng圖片自帶一個(gè)透明的圖層,導(dǎo)致不能直接轉(zhuǎn)換成jpg的文件,而手機(jī)排出的照片擴(kuò)展名是jpg.

所以,得出的結(jié)論是手機(jī)拍出的是jpg擴(kuò)展名的png圖片。


由于擴(kuò)展名是可以隨意修改的,不是很能保證文件的信息的準(zhǔn)確性,所以我們采用了 getimagesize 函數(shù)進(jìn)行文件類型的獲取。


//獲取真實(shí)的圖片類型 list($width, $height, $type, $attr) = getimagesize($this->sur_file);    switch($type) {          case 1 :              $img_type = 'gif';              break;          case 2 :              $img_type = 'jpeg';              break;          case 3 :              $img_type = 'png';              break;          case 15 :              $img_type = 'wbmp';              break;          default :              return false;      }  


三、生成縮略圖類


下面把修改后的生成縮略圖的類貼出來(lái),供大家指正~


/** * php生成縮略圖類 * 修改者 點(diǎn)點(diǎn)細(xì)雨  * 文章出處 : http://blog.csdn.net/diandianxiyu_geek * 2014-07-23 解決了圖片類型不能正常識(shí)別的問(wèn)題 */class thumb {    public $sur_file; //讀取的原圖片    public $des_file; //生成目標(biāo)圖片    public $tem_file; //臨時(shí)圖片    public $tag;  //縮略標(biāo)簽  0,默認(rèn),按固定的高寬生成  1,按比列或固定最大長(zhǎng)度生成  -1,按某個(gè)寬度或某個(gè)高度縮小    public $resize_width;  //$tag為0時(shí),目標(biāo)文件寬    public $resize_height;  //$tag為0時(shí),目標(biāo)文件高    public $sca_max; //$tag為1時(shí),1時(shí)為最大長(zhǎng)度(高或?qū)捴械淖畲笾?    public $type;  //圖片類型    public $width;  //原圖片寬    public $height;  //原圖片高    public $size;     //原圖大小    //構(gòu)造函數(shù)    public function __construct($surpic, $reswid, $reshei, $despic, $mark, $scamax) {        $this->sur_file = $surpic;        $this->resize_width = $reswid;        $this->resize_height = $reshei;        $this->tag = $mark;        $this->sca_max = $scamax;        list($width, $height, $type, $attr) = getimagesize($this->sur_file);        switch ($type) {            case 1 :                $img_type = 'gif';                break;            case 2 :                $img_type = 'jpeg';                break;            case 3 :                $img_type = 'png';                break;            case 15 :                $img_type = 'wbmp';                break;            default :                return false;        }        $this->type = $img_type; //獲取圖片類型        $this->init_img(); //初始化圖片        $this->des_file = $despic; //目標(biāo)圖片地址        $this->width = $width;        $this->height = $height;        $this->size = filesize($surpic);        $this->new_img();        imagedestroy($this->tem_file);    }    //圖片初始化函數(shù)    private function init_img() {        if ($this->type == 'jpeg') {            $this->tem_file = imagecreatefromjpeg($this->sur_file);        } elseif ($this->type == 'jpg') {            $this->tem_file = imagecreatefromjpeg($this->sur_file);        } elseif ($this->type == 'gif') {            $this->tem_file = imagecreatefromgif($this->sur_file);        } elseif ($this->type == 'png') {            $this->tem_file = imagecreatefrompng($this->sur_file);        } elseif ($this->type == 'bmp') {            $this->tem_file = imagecreatefrombmp($this->sur_file); //bmp.php中包含        }    }    //圖片生成函數(shù)    private function new_img() {        $ratio = ($this->width) / ($this->height); //原圖比例        $resize_ratio = ($this->resize_width) / ($this->resize_height); //縮略后比例        $newimg = imagecreatetruecolor($this->resize_width, $this->resize_height); //生成新圖片        imagealphablending($newimg, false); //這里很重要,意思是不合并顏色,直接用$img圖像顏色替換,包括透明色;        imagesavealpha($newimg, true);        if ($this->tag == 0) { //按固定高寬截取縮略圖            $newimg = imagecreatetruecolor($this->resize_width, $this->resize_height); //生成新圖片            if ($ratio >= $resize_ratio) {//即等比例下,縮略圖的高比原圖長(zhǎng),因此高不變                imagecopyresampled($newimg, $this->tem_file, 0, 0, 0, 0, $this->resize_width, $this->resize_height, (($this->height) * $resize_ratio), $this->height);            } elseif ($ratio tem_file, 0, 0, 0, 0, $this->resize_width, $this->resize_height, $this->width, (($this->width) / $resize_ratio));            }        } elseif ($this->tag == 1) { //按固定比例或最大長(zhǎng)度縮小            if ($this->sca_max width) * ($this->sca_max)), (($this->height) * ($this->sca_max))); //生成新圖片                imagecopyresampled($newimg, $this->tem_file, 0, 0, 0, 0, (($this->width) * ($this->sca_max)), (($this->height) * ($this->sca_max)), $this->width, $this->height);            } elseif ($this->sca_max > 1) { //按某個(gè)最大長(zhǎng)度縮小                if ($ratio >= 1) { //寬比高長(zhǎng)                    $newimg = imagecreatetruecolor($this->sca_max, ($this->sca_max / $ratio)); //生成新圖片                    imagecopyresampled($newimg, $this->tem_file, 0, 0, 0, 0, $this->sca_max, ($this->sca_max / $ratio), $this->width, $this->height);                } else {                    $newimg = imagecreatetruecolor(($this->sca_max * $ratio), $this->sca_max); //生成新圖片                    imagecopyresampled($newimg, $this->tem_file, 0, 0, 0, 0, ($this->sca_max * $ratio), $this->sca_max, $this->width, $this->height);                }            }        } elseif ($this->tag == -1) { //按某個(gè)寬度或某個(gè)高度縮小            if ($resize_ratio >= 1) {//新高小于新寬,則圖片按新寬度縮小                $newimg = imagecreatetruecolor($this->resize_width, ($this->resize_width / $ratio)); //生成新圖片                imagecopyresampled($newimg, $this->tem_file, 0, 0, 0, 0, $this->resize_width, ($this->resize_width / $ratio), $this->width, $this->height);            } elseif ($resize_ratio resize_height * $ratio), $this->resize_height); //生成新圖片                imagecopyresampled($newimg, $this->tem_file, 0, 0, 0, 0, ($this->resize_height * $ratio), $this->resize_height, $this->width, $this->height);            }        }        //輸出新圖片        if ($this->type == 'jpeg' || $this->type == 'jpg') {            imagejpeg($newimg, $this->des_file);        } elseif ($this->type == 'gif') {            imagegif($newimg, $this->des_file);        } elseif ($this->type == 'png') {            imagepng($newimg, $this->des_file);        } elseif ($this->type == 'bmp') {            imagebmp($newimg, $this->des_file); //bmp.php中包含        }    }#function new_img() end}




本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

華為GT3 Pro和GT4的差異是什麼? 華為GT3 Pro和GT4的差異是什麼? Dec 29, 2023 pm 02:27 PM

許多用戶在選擇智慧型手錶的時(shí)候都會(huì)選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區(qū)別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質(zhì)是玻璃鏡板+不鏽鋼機(jī)身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質(zhì)是藍(lán)寶石玻璃鏡+鈦金屬機(jī)身/陶瓷機(jī)身+陶瓷後殼二、健康GT4:採(cǎi)用最新的華為Truseen5.5+演算法,結(jié)果會(huì)更加的精準(zhǔn)。 GT3pro:多了ECG心電圖和血管及安

修復(fù):截圖工具在 Windows 11 中不起作用 修復(fù):截圖工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

為什麼截圖工具在Windows11上不起作用了解問(wèn)題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無(wú)法正常工作的主要原因:對(duì)焦助手已開啟:這可以防止截圖工具開啟。應(yīng)用程式損壞:如果截圖工具在啟動(dòng)時(shí)崩潰,則可能已損壞。過(guò)時(shí)的圖形驅(qū)動(dòng)程式:不相容的驅(qū)動(dòng)程式可能會(huì)幹?jǐn)_截圖工具。來(lái)自其他應(yīng)用程式的干擾:其他正在運(yùn)行的應(yīng)用程式可能與截圖工具衝突。憑證已過(guò)期:升級(jí)過(guò)程中的錯(cuò)誤可能會(huì)導(dǎo)致此issu簡(jiǎn)單的解決方案這些適合大多數(shù)用戶,不需要任何特殊的技術(shù)知識(shí)。 1.更新視窗與Microsoft應(yīng)用程式商店應(yīng)用程

Vue中如何對(duì)圖片進(jìn)行壓縮和格式轉(zhuǎn)換? Vue中如何對(duì)圖片進(jìn)行壓縮和格式轉(zhuǎn)換? Aug 25, 2023 pm 11:06 PM

Vue中如何對(duì)圖片進(jìn)行壓縮和格式轉(zhuǎn)換?在前端開發(fā)中,經(jīng)常會(huì)遇到需要對(duì)圖片進(jìn)行壓縮和格式轉(zhuǎn)換的需求。特別是在行動(dòng)端的開發(fā)中,為了提高頁(yè)面載入速度和節(jié)省使用者流量,對(duì)圖片進(jìn)行壓縮和格式轉(zhuǎn)換是很關(guān)鍵的。而在Vue框架中,我們可以透過(guò)一些工具庫(kù)來(lái)實(shí)現(xiàn)圖片的壓縮和格式轉(zhuǎn)換。使用compressor.js庫(kù)進(jìn)行壓縮compressor.js是一款用於壓縮圖片的JavaS

html的width是什麼意思 html的width是什麼意思 Jun 03, 2021 pm 02:15 PM

在html5中,width的意思是寬度,width屬性定義元素內(nèi)容區(qū)的寬度,在內(nèi)容區(qū)外面可以增加內(nèi)邊距、邊框和外邊距,只需要給元素設(shè)定「元素{width:數(shù)值}」即可。

如何修復(fù)無(wú)法連線到iPhone上的App Store錯(cuò)誤 如何修復(fù)無(wú)法連線到iPhone上的App Store錯(cuò)誤 Jul 29, 2023 am 08:22 AM

第1部分:初始故障排除步驟檢查蘋果的系統(tǒng)狀態(tài):在深入研究複雜的解決方案之前,讓我們先從基礎(chǔ)知識(shí)開始。問(wèn)題可能不在於您的設(shè)備;蘋果的伺服器可能會(huì)關(guān)閉。造訪Apple的系統(tǒng)狀態(tài)頁(yè)面,查看AppStore是否正常運(yùn)作。如果有問(wèn)題,您所能做的就是等待Apple修復(fù)它。檢查您的網(wǎng)路連接:確保您擁有穩(wěn)定的網(wǎng)路連接,因?yàn)椤笩o(wú)法連接到AppStore」問(wèn)題有時(shí)可歸因於連接不良。嘗試在Wi-Fi和行動(dòng)數(shù)據(jù)之間切換或重置網(wǎng)路設(shè)定(「常規(guī)」>「重置」>「重置網(wǎng)路設(shè)定」>設(shè)定)。更新您的iOS版本:

php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出,該如何解決 php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出,該如何解決 Jun 13, 2016 am 10:23 AM

php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出而不是在空白頁(yè)彈出?想實(shí)現(xiàn)這樣的效果:而不是空白頁(yè)彈出:------解決方案--------------------如果你的驗(yàn)證用PHP在后端,那么就用Ajax;僅供參考:HTML code

聊聊Vue2為什麼能透過(guò)this存取各種選項(xiàng)中屬性 聊聊Vue2為什麼能透過(guò)this存取各種選項(xiàng)中屬性 Dec 08, 2022 pm 08:22 PM

這篇文章帶大家解讀vue原始碼,來(lái)介紹一下Vue2中為什麼可以使用 this 存取各種選項(xiàng)中的屬性,希望對(duì)大家有幫助!

watch4pro好還是gt好 watch4pro好還是gt好 Sep 26, 2023 pm 02:45 PM

watch4pro和gt各自具有不使用的特點(diǎn)和適用場(chǎng)景,如果注重功能的全面性、高性能和時(shí)尚外觀,同時(shí)願(yuàn)意承擔(dān)較高的價(jià)格,那麼Watch 4 Pro可能更適合。如果對(duì)功能要求不高,更注重電池續(xù)航力和價(jià)格的合理性,那麼GT系列可能更適合。最終的選擇應(yīng)根據(jù)個(gè)人需求、預(yù)算和喜好來(lái)決定,建議在購(gòu)買前仔細(xì)考慮自己的需求,並參考各種產(chǎn)品的評(píng)測(cè)和比較,以做出更明智的選擇。

See all articles