PHP開發(fā)縮圖之操作文件
操作檔
<?php /*打開圖片*/ $src = "https://img.php.cn/upload/course/000/000/004/581454f755fb1195.jpg"; $info = getimagesize($src); $type = image_type_to_extension($info[2],false); $fun = "imagecreatefrom{$type}"; $image = $fun($src); /*操作圖片*/ //在內(nèi)存中建立一個寬300高200的真色彩圖片 $image_thumb = imagecreatetruecolor(300,200); //將原圖復(fù)制到新建的真色彩圖片上,并且按照一定比例壓縮(參數(shù)1:真色彩圖片,參數(shù)2:原圖,參數(shù)3,4,5,6:原圖和真色彩圖的起始點(diǎn),參數(shù)7,8:原圖和真色彩圖的結(jié)束點(diǎn),參數(shù)9:原圖寬,參數(shù)10:原圖高) imagecopyresampled($image_thumb,$image,0,0,0,0,300,200,$info[0],$info[1]); //銷毀原始圖片 imagedestroy($image); ?>
程式碼解釋:
首先在記憶體中建立一個規(guī)定大小的彩色畫布。
imagecreatetruecolor() 傳回一個圖像標(biāo)識符,代表了一幅大小為 x_size 和 y_size 的黑色影像。
在使用函數(shù)imagecopyresampled()?
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
imagecopyresampled() 將一幅影像中的一塊正方形區(qū)域拷貝到另一個影像中,平滑地插入像素值,因此,尤其是,減小了影像的大小而仍然保持了極大的清晰度。?
dst_image
目標(biāo)圖象連結(jié)資源。
src_image
來源圖象連接資源。
dst_x
目標(biāo) X 座標(biāo)點(diǎn)。
dst_y
目標(biāo) Y 座標(biāo)點(diǎn)。
src_x
來源的 X 座標(biāo)點(diǎn)。
src_y
來源的 Y 座標(biāo)點(diǎn)。
dst_w
目標(biāo)寬度。
dst_h
目標(biāo)高度。
src_w
來源圖象的寬度。
src_h
來源圖象的高度。
然後將複製在記憶體中給的圖片銷毀。