ホームページ  >  記事  >  バックエンド開発  >  等しい比率の画像を作成するための PHP コード_PHP チュートリアル

等しい比率の画像を作成するための PHP コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:46:15748ブラウズ

注: $maxwidth と $maxheight のいずれか 1 つだけを渡すことができます。最大幅を渡した場合、高さは自動的に計算されます。最大高さを渡した場合は、幅が自動的に計算されます。 * 戻り値: 作成に成功した場合はファイルが保存されているアドレスを返し、それ以外の場合は false を返します。

注: $maxwidth と $maxheight のいずれか 1 つだけを渡すことができます。最大幅を渡した場合は、高さが自動的に計算されます。
※戻り値:作成に成功した場合はファイルが保存されているアドレスを返し、それ以外の場合はfalseを返します

/*************************************************** * *********************
* 関数名: createSmallImg()
* 機能説明: プロポーショナルな写真を作成します
* 入力パラメータ:
$dir 保存パス
$source_img 元の画像名
$small_ex サムネイル ファイル名の接尾辞
$maxwidth 最大幅
$maxheight 最大高さ
※注意: $maxwidth と $maxheight のどちらか一方のみを渡すことができます。 最大幅を渡した場合、高さは自動的に計算されます。 最大高さを渡した場合、幅は自動的に計算されます。 ※戻り値:作成に成功した場合はファイルが保存されているアドレスを返し、それ以外の場合はfalseを返します
*作者:李暁雨
※執筆時期:2011/8/18
************************************************* * **************************/
function createSmallImg($dir,$source_img,$small_ex="_s",$maxwidth='',$maxheight='') {
if(!empty($maxwidth) && !empty($maxheight)) {
false を返します;
}
$img_name=substr($source_img,0,-4);
$img_ex = strto lower(substr(strrchr($source_img,"."),1));
/*コメントのこのセクションは、ブラウザ上に画像を直接表示するために使用されます
$im=imagecreatefromjpeg($file);
header("コンテンツタイプ: image/jpeg");
imagejpeg($im);*/
スイッチ($img_ex) {
ケース「jpg」:
$src_img=imagecreatefromjpeg($dir.$source_img);
休憩
ケース「gif」:
$src_img=imagecreatefromgif($dir.$source_img);
休憩
ケース「png」:
$src_img=imagecreatefrompng($dir.$source_img);
休憩
}
$old_width=imagesx($src_img);
$old_height=imagesy($src_img);
if(!empty($maxheight) && $old_height>=$maxheight) {
$new_height=$maxheight;
$new_width=round(($old_width*$new_height)/$old_height);
elseif(!empty($maxwidth) && $old_width>=$maxwidth) {
$new_width=$maxwidth;
$new_height=round(($old_height*$new_width)/$old_width);
}
if(!empty($new_width) || !empty($new_height)) {
if($img_ex=="jpg" || $img_ex=="png") {
$dst_img=imagecreatetruecolor($new_width,$new_height);
} その他 {
$dst_img=imagecreate($new_width,$new_height);
}
imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_width,$new_height,$old_width,$old_height);
$smallname=$dir.$img_name.$small_ex.".".$img_ex;
スイッチ($img_ex) {
ケース「jpg」:
Imagejpeg($dst_img,$smallname,100);
休憩
ケース「gif」:
Imagegif($dst_img,$smallname);
休憩
ケース「png」:
Imagepng($dst_img,$smallname);
休憩
}
}
$smallname を返します;
}

http://www.bkjia.com/PHPjc/632976.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632976.html技術記事注: $maxwidth と $maxheight のどちらか一方のみを渡すことができます。最大幅を渡した場合は、高さが自動的に計算されます。 戻り値: 作成された場合は、幅が自動的に計算されます。成功するとテキストが返されます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。