php如何實現截取不同規(guī)格尺寸的圖片?,相信大部分人都還沒學會這個技能,為了讓大家學會,給大家總結了以下內容,話不多說,一起往下看吧。
為海南州等地區(qū)用戶提供了全套網頁設計制作服務,及海南州網站建設行業(yè)解決方案。主營業(yè)務為成都網站設計、網站建設、海南州網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
(一)getpic.php
filemtime($src)) { $src = $tempfile; } else { require_once 'gcImage.php'; list($swidth,$sheight) = getp_w_picpathsize($src); $p_w_picpath = new gcImage(); if(empty($h)) $h = $w * $sheight/$swidth; $src = $p_w_picpath->imagickmakethumb($src, $tempfile, $w, $h,90); } if(empty($src)) { //$src = 'defaultImage/no_photo01.gif'; $src = 'p_w_picpaths/nullpic/nullpic1.jpg'; } //下載該圖片 $file_extension = strtolower(substr(strrchr($src,'.'),1)); switch($file_extension) { case 'gif': $file_mime='p_w_picpath/gif'; break; case 'png': $file_mime='p_w_picpath/png'; break; case 'jpg': $file_mime='p_w_picpath/jpg'; break; default: $file_mime=mime_content_type($src); } $length = filesize($src); Header("Content-type: $file_mime; charset=UTF-8"); Header('Accept-Ranges: bytes'); Header('Accept-Length: '.$length); //Header('Content-Disposition: p_w_upload; filename=' . $file_name); $file = fopen($src,'r'); echo fread($file,$length); fclose($file);
(2)gcImage.php
($dstW / 2)) ? floor ( $dstW / 2 ) : $dstX; $dstY = ($dstY > ($dstH / 2)) ? floor ( $dstH / 2 ) : $dstY; $white = ImageColorAllocate ( $ni, 255, 255, 255 ); $black = ImageColorAllocate ( $ni, 0, 0, 0 ); p_w_picpathfilledrectangle ( $ni, 0, 0, $dstW, $dstH, $white ); // 填充背景色 ImageCopyResized ( $ni, $im, $dstX, $dstY, 0, 0, $fdstW, $fdstH, $srcW, $srcH ); if ($markwords != null) { $markwords = iconv ( "gb2312", "UTF-8", $markwords ); //轉換文字編碼 ImageTTFText ( $ni, 20, 30, 450, 560, $black, "simhei.ttf", $markwords ); //寫入文字水印 //參數依次為,文字大小|偏轉度|橫坐標|縱坐標|文字顏色|文字類型|文字內容 } elseif ($markp_w_picpath != null) { $wp_w_picpath_data = GetImageSize ( $markp_w_picpath ); switch ($wp_w_picpath_data [2]) { case 1 : $wp_w_picpath = @ImageCreateFromGIF ( $markp_w_picpath ); break; case 2 : $wp_w_picpath = @ImageCreateFromJPEG ( $markp_w_picpath ); break; case 3 : $wp_w_picpath = @ImageCreateFromPNG ( $markp_w_picpath ); break; } p_w_picpathcopy ( $ni, $wp_w_picpath, 500, 560, 0, 0, 88, 31 ); //寫入圖片水印,水印圖片大小默認為88*31 p_w_picpathdestroy ( $wp_w_picpath ); } ImageJpeg ( $ni, $dstFile, $rate ); touch($dstFile); p_w_picpathdestroy ( $ni ); p_w_picpathdestroy ( $im ); return $dstFile; } /*構造函數-生成縮略圖+水印,參數說明: $srcFile-圖片文件名, $dstFile-另存文件名, $markwords-水印文字, $markp_w_picpath-水印圖片, $dstW-圖片保存寬度, $dstH-圖片保存高度, $rate-圖片保存品質*/ //makethumb("a.jpg","b.jpg","50","50"); function imagickmakethumb($srcFile, $dstFile, $dstW, $dstH, $rate = 100, $markwords = null, $markp_w_picpath = null) { try { $p_w_picpath=new Imagick($srcFile); $p_w_picpath->setImageCompression(Imagick::COMPRESSION_JPEG); $p_w_picpath->setImageCompressionQuality($rate); $p_w_picpath->setImageFormat('JPEG'); $p_w_picpath->cropThumbnailImage ($dstW,$dstH); $p_w_picpath->stripImage(); if (!empty($markwords)) { $draw = new ImagickDraw(); $draw->setGravity(Imagick::GRAVITY_SOUTHEAST); $draw->setFont('simhei.ttf'); $draw->setFontSize(12); $draw->setFillColor('#000'); $p_w_picpath->annotateImage($draw, 6, 6, 0, $markwords); } elseif(!empty($markp_w_picpath)) { } $p_w_picpath->writeImage($dstFile); $p_w_picpath->clear(); $p_w_picpath->destroy(); return $dstFile; } catch (Exception $e) { return false; } } }
以上就是php實現截取不同規(guī)格尺寸的圖片的方法,詳細使用情況還需要大家自己親自動手使用過才能領會。如果想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!