您好,登錄后才能下訂單哦!
<?php /** * 調整圖片大小 * $path圖片的寬度大于$width則等比縮放 * $path圖片的高度大于$height切成多張圖片 * @param $path 圖片地址 * @param $width integer|string 圖片寬度 * @param @height integer|string 圖片高度 */ function imgResize($path, $width, $height) { // 存放生成的圖片路徑 $imgPaths = array(); // 獲取圖片寬度/高度/類型 list($srcW, $srcH, $type) = getp_w_picpathsize($path); $type -= 1; // 創建源圖像 $p_w_picpathcreatefromFuns = array('p_w_picpathcreatefromgif', 'p_w_picpathcreatefromjpeg', 'p_w_picpathcreatefrompng'); $src = $p_w_picpathcreatefromFuns[$type]($path); // 圖片的寬度大于$width則等比縮放 if( $srcW > $width ) { $dstHeight = $srcH * ($width / $srcW); // 新建一個真彩***像 $dst = p_w_picpathcreatetruecolor( $width, $dstHeight ); p_w_picpathcopyresampled($dst, $src, 0, 0, 0, 0, $width, $dstHeight, $srcW, $srcH); $src = $dst; // 更新原圖的寬度和高度 $srcW = $width; $srcH = $dstHeight; } else { // 沒有調整寬度 $width = $srcW; } // 圖片的高度大于$height切成多張圖片 if( $srcH > $height ) { // 切割的高度位置 $srcY = 0; do { $dstHeight = ($srcY + $height > $srcH) ? ($srcH - $srcY) : ($height); $dst = p_w_picpathcreatetruecolor( $width, $dstHeight ); p_w_picpathcopyresampled($dst, $src, 0, 0, 0, $srcY, $width, $dstHeight, $width, $dstHeight); $filePath = './img/' . md5(microtime(true)) . '.jpg'; $imgPaths[] = $filePath; ImageJpeg($dst, $filePath); is_resource($dst) and p_w_picpathdestroy($dst); $srcY += $dstHeight; }while($srcY < $srcH); } else { // 如果高度符合 則將調整了原圖(也有可能是調整了寬度之后的)保存為文件 $filePath = './img/' . md5(microtime(true)) . '.jpg'; $imgPaths[] = $filePath; ImageJpeg($src, $filePath); } // 釋放內存 isset($src) and is_resource($src) and p_w_picpathdestroy($src); isset($dst) and is_resource($dst) and p_w_picpathdestroy($dst); return $imgPaths; } /** * 調整圖片清晰度 * @param string $path 圖片路徑 * @param string $quality 清晰度 * @return string 新的圖片路徑 */ function reQuality( $path, $quality ) { $p_w_picpath_type = p_w_picpath_type_to_extension(exif_p_w_picpathtype($path), false); $fun = "p_w_picpathcreatefrom{$p_w_picpath_type}"; $src = $fun($path); $newPath = generateUniqueFilePath('./img/'); ImageJpeg($src, $newPath, $quality); return $newPath; } /** * 生成唯一的文件路徑 * @param $basePath string 文件夾路徑 * @param $suffix string * @return string 文件路徑 */ function generateUniqueFilePath($basePath, $suffix='.jpg') { $filePath = $basePath . md5(microtime(true)) . $suffix; return $filePath; } header('Content-Type:p_w_picpath/png'); $path = './img/jjj.jpg'; $imgPaths = imgResize($path, 10000, 10000); // reQuality($path, 1);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。