成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

PHP任意圖像裁剪成固定大小

瀏覽:256日期:2024-01-14 11:29:29

做一個首頁調用圖像,有時候往往需要獲得固定大小的圖像,因為首頁的圖像位置通常由設計人員指定好了,如果是做最新發布圖像調用,因為不知道客戶會上傳什么比例的圖像,所以,有時候也就沒有辦法確定圖像的比例,前臺頁面編寫人員通常會采用固定 img 元素高寬的辦法來達到控制圖像不溢出,但如果圖像的比例不是需要的比例,就會造成圖像調用后變形,很大程度上影響了頁面的美觀,有解決的方法是,按照原圖比例進行縮放,縮放后的圖像難免會有空白,空白處填以顏色,這樣雖然圖像不變形了,但這樣會有很多問題,比如,如果用戶發一個圖像很高但寬度一般的圖像,如果壓縮成一個1:1的圖像,那么壓縮后基本就會看不到圖像了。我這里的解決辦法是,任意圖像裁剪成固定大小,圖像不變形,空白處拉伸填充,圖像始終鋪滿,不留空白,用過bcastr的朋友應該知道,bcastr就是保證了圖像調用的不變形,對一個固定大小輸出的圖像框,源圖有以下幾種情況:1:需要輸出的圖像的高寬比源圖的高寬都小,寫成判斷 $new_width<$src_width && $new_height<$src_width2:需要輸出的圖像的高寬比原圖的高寬都大,寫成判斷 $new_width>$src_width && $new_height>$src_width3:排除第1,2兩種,即一邊放大,一邊縮小的情況加上等于的判斷對于1,2,函數處理代碼完全相同,所以可以歸納成一個處理語句

給出php實現代碼

<?php/**說明:函數功能是把一個圖像裁剪為任意大小的圖像,圖像不變形* 參數說明:輸入 需要處理圖片的 文件名,生成新圖片的保存文件名,生成新圖片的寬,生成新圖片的高* written by smallchicken* time 2008-12-18*/// 獲得任意大小圖像,不足地方拉伸,不產生變形,不留下空白function my_image_resize($src_file, $dst_file , $new_width , $new_height) {if($new_width <1 || $new_height <1) {echo 'params width or height error !';exit();}if(!file_exists($src_file)) {echo $src_file . ' is not exists !';exit();}// 圖像類型$type=exif_imagetype($src_file);$support_type=array(IMAGETYPE_JPEG , IMAGETYPE_PNG , IMAGETYPE_GIF);if(!in_array($type, $support_type,true)) {echo 'this type of image does not support! only support jpg , gif or png';exit();}//Load imageswitch($type) {case IMAGETYPE_JPEG :$src_img=imagecreatefromjpeg($src_file);break;case IMAGETYPE_PNG :$src_img=imagecreatefrompng($src_file);break;case IMAGETYPE_GIF :$src_img=imagecreatefromgif($src_file);break;default:echo 'Load image error!';exit();}$w=imagesx($src_img);$h=imagesy($src_img);$ratio_w=1.0 * $new_width / $w;$ratio_h=1.0 * $new_height / $h;$ratio=1.0;// 生成的圖像的高寬比原來的都小,或都大 ,原則是 取大比例放大,取大比例縮小(縮小的比例就比較小了)if( ($ratio_w < 1 && $ratio_h < 1) || ($ratio_w > 1 && $ratio_h > 1)) {if($ratio_w < $ratio_h) {$ratio = $ratio_h ; // 情況一,寬度的比例比高度方向的小,按照高度的比例標準來裁剪或放大}else {$ratio = $ratio_w ;}// 定義一個中間的臨時圖像,該圖像的寬高比 正好滿足目標要求$inter_w=(int)($new_width / $ratio);$inter_h=(int) ($new_height / $ratio);$inter_img=imagecreatetruecolor($inter_w , $inter_h);imagecopy($inter_img, $src_img, 0,0,0,0,$inter_w,$inter_h);// 生成一個以最大邊長度為大小的是目標圖像$ratio比例的臨時圖像// 定義一個新的圖像$new_img=imagecreatetruecolor($new_width,$new_height);imagecopyresampled($new_img,$inter_img,0,0,0,0,$new_width,$new_height,$inter_w,$inter_h);switch($type) {case IMAGETYPE_JPEG :imagejpeg($new_img, $dst_file,100); // 存儲圖像break;case IMAGETYPE_PNG :imagepng($new_img,$dst_file,100);break;case IMAGETYPE_GIF :imagegif($new_img,$dst_file,100);break;default:break;}} // end if 1// 2 目標圖像 的一個邊大于原圖,一個邊小于原圖 ,先放大平普圖像,然后裁剪// =if( ($ratio_w < 1 && $ratio_h > 1) || ($ratio_w >1 && $ratio_h <1) )else{$ratio=$ratio_h>$ratio_w? $ratio_h : $ratio_w; //取比例大的那個值// 定義一個中間的大圖像,該圖像的高或寬和目標圖像相等,然后對原圖放大$inter_w=(int)($w * $ratio);$inter_h=(int) ($h * $ratio);$inter_img=imagecreatetruecolor($inter_w , $inter_h);//將原圖縮放比例后裁剪imagecopyresampled($inter_img,$src_img,0,0,0,0,$inter_w,$inter_h,$w,$h);// 定義一個新的圖像$new_img=imagecreatetruecolor($new_width,$new_height);imagecopy($new_img, $inter_img, 0,0,0,0,$new_width,$new_height);switch($type) {case IMAGETYPE_JPEG :imagejpeg($new_img, $dst_file,100); // 存儲圖像break;case IMAGETYPE_PNG :imagepng($new_img,$dst_file,100);break;case IMAGETYPE_GIF :imagegif($new_img,$dst_file,100);break;default:break;}}// if3}// end function?>

標簽: PHP
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美韩国日本综合| 日韩午夜精品| 国产亚洲一级| 中文字幕日韩av资源站| 欧美日韩一卡| 精品国产免费视频| 丁香天五香天堂综合| 欧美色成人综合| 毛片不卡一区二区| 在线看国产一区| 麻豆精品在线播放| 欧美亚洲高清一区二区三区不卡| 亚洲一区二区免费视频| 中日韩在线视频| 亚洲最大色网站| 99视频一区| 亚洲女同女同女同女同女同69| 亚洲第一区色| 亚洲精品视频免费观看| 国产日韩欧美三级| 亚洲国产日韩a在线播放| 国产一区白浆| 亚洲综合丁香婷婷六月香| 一区免费视频| 中文字幕综合网| 亚洲国产精品一区二区第四页av| 最新久久zyz资源站| 国产偷国产偷亚洲高清97cao| 亚洲一区二区三区自拍| 美女爽到呻吟久久久久| 午夜精品久久久久久久| 在线观看成人免费视频| 国产一区二区三区四区在线观看| 日韩精品在线一区二区| 91网站在线播放| 国产拍揄自揄精品视频麻豆| 午夜精品亚洲| 中文字幕人成不卡一区| aa日韩免费精品视频一| 午夜不卡av免费| 欧美欧美午夜aⅴ在线观看| 国产成人亚洲综合a∨猫咪 | 国产精品久久久久久久裸模| 伊人久久亚洲热| 亚洲va中文字幕| 欧美日韩高清影院| 91亚洲大成网污www| 亚洲人成在线播放网站岛国| 国产精品视频久久一区| 日本视频在线一区| 91精品国产综合久久久蜜臀粉嫩| jiyouzz国产精品久久| 亚洲色图色小说| 在线观看91视频| 99久久99久久精品免费观看| 亚洲三级在线观看| 在线观看91视频| 99riav久久精品riav| 一区av在线播放| 欧美日韩国产a| 欧美日韩综合| 日欧美一区二区| 日韩美一区二区三区| 亚洲国产精品一区| 蜜臀av在线播放一区二区三区| 欧美成人艳星乳罩| 国产亚洲一级| 国产大陆a不卡| 亚洲欧美日韩久久精品| 欧美日韩免费在线视频| 欧美精品播放| 日本伊人午夜精品| 久久久不卡网国产精品一区| 免费在线成人av| 成人av先锋影音| 亚洲国产日韩a在线播放| 日韩一区二区三区观看| 99精品视频免费| 国产 日韩 欧美大片| 自拍偷在线精品自拍偷无码专区| 欧洲av一区二区嗯嗯嗯啊| 欧美片网站免费| 看片的网站亚洲| 国产精品伦理一区二区| 在线免费一区三区| 国产一区视频观看| 精品一区二区三区免费视频| ㊣最新国产の精品bt伙计久久| 欧美日韩精品是欧美日韩精品| 欧美特黄一区| 国产精品一二三四| 亚洲已满18点击进入久久| 精品捆绑美女sm三区| 校园激情久久| av在线播放不卡| 婷婷中文字幕一区三区| 国产午夜精品久久久久久免费视 | 欧美高清在线一区| 欧美三级日韩在线| 99在线|亚洲一区二区| 成人激情综合网站| 日韩精品1区2区3区| 国产精品久久久久影院| 欧美精品亚洲一区二区在线播放| 99国产精品| 91一区二区在线| 蜜桃视频一区二区| 亚洲色图视频免费播放| 欧美va日韩va| 欧美色大人视频| 亚洲一区二三| 欧美日韩国产一区精品一区| 国产毛片精品视频| 日韩精品视频网| 亚洲女同ⅹxx女同tv| 国产喂奶挤奶一区二区三区 | 亚洲精品欧美专区| 亚洲精品一区二区三区精华液| 日本精品一区二区三区高清 | 99国产精品久久久久| 五月天中文字幕一区二区| 欧美韩国日本不卡| 91精品国产麻豆| 日本精品一级二级| 国产日产高清欧美一区二区三区| 97精品视频在线观看自产线路二| 精品一区二区三区欧美| 五月婷婷久久丁香| 亚洲精品国产一区二区三区四区在线| 久久九九久久九九| 日韩三级在线观看| 欧美午夜精品久久久久久孕妇| 一区二区91| 狠狠久久综合婷婷不卡| 99精品视频一区二区| 国产九色sp调教91| 免费观看一级特黄欧美大片| 亚洲一区二区三区激情| 亚洲欧洲日韩在线| 久久精品在这里| 欧美va亚洲va国产综合| 欧美精品粉嫩高潮一区二区| 色94色欧美sute亚洲13| 另类天堂av| 亚洲综合精品四区| 国产欧美日韩综合一区在线观看 | 99精品热视频只有精品10| 欧美精品九九| 99国产精品视频免费观看| 国产电影一区二区三区| 国模娜娜一区二区三区| 免费观看30秒视频久久| 婷婷丁香久久五月婷婷| 亚洲香蕉伊在人在线观| 亚洲一区在线电影| 一区二区日韩av| 亚洲影视资源网| 亚洲国产精品久久人人爱 | 精品国产第一区二区三区观看体验 | 亚洲欧洲一区二区天堂久久| 欧美日韩免费观看一区| 欧美久久一区| 欧美91大片| 欧美午夜免费| 欧美特黄a级高清免费大片a级| 欧美激情一级片一区二区| 91碰在线视频| 欧美日韩综合网| 伊人精品在线| 亚洲视频播放| 亚洲在线不卡| 久久久噜噜噜| 在线一区二区三区做爰视频网站| 欧美国产欧美综合| 美女一区二区久久| 国产午夜精品在线观看| 亚洲激情一区| 欧美蜜桃一区二区三区| 一本久久a久久免费精品不卡| 成人动漫在线一区| 亚洲国产精品久久人人爱蜜臀| 精品日韩一区二区三区| 粉嫩高潮美女一区二区三区 | 欧美色综合影院| 亚洲第一电影网| 欧美日韩成人在线| 免费的成人av| 欧美成人三级电影在线| 一本色道久久综合亚洲二区三区| 最新中文字幕一区二区三区| 91论坛在线播放| 欧美激情一区二区在线| 国产精品分类| 午夜精品影院在线观看| 欧美亚洲愉拍一区二区| 成人久久久精品乱码一区二区三区| 久久精品无码一区二区三区| 99精品欧美一区二区三区小说 | 国产91丝袜在线18| 欧美mv日韩mv国产网站|