php初學(xué)者教程之圖片縮放和裁剪
php程序中改變圖片大小的函數(shù)大多數(shù)人都想到用imagecopyresized(),不過經(jīng)過測(cè)試比較發(fā)現(xiàn),使用imagecopyresampled()改變的圖片質(zhì)量更高。
1、imagecopyresampled的使用
1、目標(biāo)函數(shù)資源
2、源圖像資源<要采樣的圖片資源>
3、x(0,0指圖左上角)
4、y(x,y確定一個(gè)坐標(biāo),坐標(biāo)確定了把采樣的部分放到目標(biāo)圖像資源的位置)
5、源x(0,0指圖右上角)
6、源y(源x與源y確定一個(gè)坐標(biāo),你要采用的原圖像資源的某個(gè)部分的起始位置)
7、w
8、h(weight與height確定了放到目標(biāo)圖像資源上面的尺寸)
9、源w
10、源h(源w與源h確定了采樣原圖像資源的某個(gè)部分)
2、$height=$width/($imgWidth/$imgHeight);
使得圖片整體不會(huì)被裁剪,縮放代碼只需控制width即可
<?php header('Content-type:image/jpeg'); $width=300; $img=imagecreatefromjpeg('1/php1.jpg'); $imgWidth=imagesx($img); $imgHeight=imagesy($img); $height=$width/($imgWidth/$imgHeight); $img1=imagecreatetruecolor(500,500); imagecopyresampled($img1,$img,100,100,100,100,$width,$height,$imgWidth,$imgHeight); imagejpeg($img1); imagedestroy($img1); imagedestroy($img);
<?php header('Content-type:image/jpeg'); $width=200; $img=imagecreatefromjpeg('1/php1.jpg'); $imgWidth=imagesx($img); $imgHeight=imagesy($img); $height=$width/($imgWidth/$imgHeight); $img1=imagecreatetruecolor(500,500); imagecopyresampled($img1,$img,100,100,100,100,$width,$height,$imgWidth,$imgHeight); imagejpeg($img1); imagedestroy($img1); imagedestroy($img);
3、控制x、y與源x、源y可以進(jìn)行裁剪
<?php header('Content-type:image/jpeg'); $width=500; $img=imagecreatefromjpeg('1/php1.jpg'); $imgWidth=imagesx($img); $imgHeight=imagesy($img); $height=$width/($imgWidth/$imgHeight); $img1=imagecreatetruecolor(500,500); imagecopyresampled($img1,$img,0,0,300,300,$width,$height,$imgWidth,$imgHeight); imagejpeg($img1); imagedestroy($img1); imagedestroy($img);
<?php header('Content-type:image/jpeg'); $width=500; $img=imagecreatefromjpeg('1/php1.jpg'); $imgWidth=imagesx($img); $imgHeight=imagesy($img); $height=$width/($imgWidth/$imgHeight); $img1=imagecreatetruecolor(500,500); imagecopyresampled($img1,$img,330,330,0,0,$width,$height,$imgWidth,$imgHeight); imagejpeg($img1); imagedestroy($img1); imagedestroy($img);
總結(jié)
到此這篇關(guān)于php圖片縮放和裁剪的文章就介紹到這了,更多相關(guān)php圖片縮放和裁剪內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP實(shí)現(xiàn)繪制3D扇形統(tǒng)計(jì)圖及圖片縮放實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)繪制3D扇形統(tǒng)計(jì)圖及圖片縮放實(shí)例,本文給出代碼示例,代碼中包含一些說明注釋,需要的朋友可以參考下2014-10-10phpcms實(shí)現(xiàn)驗(yàn)證碼替換及phpcms實(shí)現(xiàn)全站搜索功能教程詳解
這篇文章主要介紹了phpcms的驗(yàn)證碼替換 及 phpcms實(shí)現(xiàn)全站搜索功能,需要的朋友可以參考下2017-12-12PHP依賴倒置(Dependency Injection)代碼實(shí)例
這篇文章主要介紹了PHP依賴倒置(Dependency Injection)代碼實(shí)例本文只提供實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-10-10Laravel 5.4中migrate報(bào)錯(cuò): Specified key was too long error的解決
今天在執(zhí)行l(wèi)aravel migrate時(shí)出現(xiàn)異常,找了好半天才找到問題所在,所以這篇文章主要給大家介紹了關(guān)于Laravel 5.4中migrate報(bào)錯(cuò): Specified key was too long error的解決方法,需要的朋友可以參考下。2017-11-11workerman結(jié)合laravel開發(fā)在線聊天應(yīng)用的示例代碼
聊天功能是很常見的一種功能,Workerman是一款開源高性能異步PHP socket即時(shí)通訊框架。這篇文章主要介紹了workerman結(jié)合laravel開發(fā)在線聊天應(yīng)用,感興趣的小伙伴們可以參考一下2018-10-10php file_get_contents抓取Gzip網(wǎng)頁亂碼的三種解決方法
用 file_get_contents() 函數(shù)抓取網(wǎng)頁會(huì)發(fā)生亂碼現(xiàn)象。有兩個(gè)原因會(huì)導(dǎo)致亂碼,一個(gè)是編碼問題,一個(gè)是目標(biāo)頁面開了Gzip,下面說的就是開了Gzip功能如何才能不亂碼的方法2013-11-11實(shí)例介紹PHP刪除數(shù)組中的重復(fù)元素
在本文里小編給大家分享了關(guān)于PHP如何刪除數(shù)組中的重復(fù)元素的相關(guān)知識(shí)點(diǎn)和步驟,需要的朋友們學(xué)習(xí)下。2019-03-03