-
-
/*
- 画像の幅を制限し、画像を比例的に拡大縮小する単純な関数です。プログラムは元の画像を上書きしません。
- 画像比例スケーリング関数パラメータの説明:
- $imgsrc 元の画像アドレスは、リモート画像またはサーバー上のパスにすることができます。
- $newimgname は縮小画像の名前です。
- $kuan は画像の幅を制限します。この幅を超える場合、画像は縮小されます。
例:
- $imgsrc = "http://www.xingzuo51.com/upload/20141116/20141116010041-0.jpg";//リモート画像にすることもできます。
- $newimgname = "upload/20141116/000.jpg"; //ローカルパスの前に「/」を追加しないでください
- $kuan = 600;
- img_suofang($imgsrc,$newimgname,$kuan);画像縮小関数
- */
- function img_suofang($imgsrc,$newimgname,$kuan){
- $info = getimagesize($imgsrc) //画像情報を取得
- list($w,$h) = $info;
- ; $bl = ($ h/$w);
- // print_r($info);
- // die();
- // $type = $info[2];
- // die($type);
- if ($w>$ kuan){
- $k = $kuan;
- $g = ($k*$bl);
- switch($info[2]){
- case 1:
- $im = imagecreatefromgif($imgsrc) ;
- $n = imagecreatetruecolor($k,$g);
- imagecopyresampled($n,$im,0,0,0,0,$k,$g,$w,$h);
- $type = "。 gif";
- imagegif ($n,$newimgname."$type");
- ブレーク;
- ケース 2:
- $im = imagecreatefromjpeg($imgsrc);
- $n = imagecreatetruecolor($k,$g);
- imagecopyresampled ($n,$ im,0,0,0,0,$k,$g,$w,$h);
- $type = ".jpg";
- imagejpeg($n,$newimgname.$type);
- ブレーク;
- ケース 3:
- $im = imagecreatefrompng($imgsrc);
- $n = imagecreatetruecolor($k,$g);
- imagecopyresampled($n,$im,0,0,0,0,$k, $g,$w ,$h);
- $type = ".png";
- imagepng($n,$newimgname.$type);
- ブレーク;
- デフォルト:
- die("No jpg Image");
- ブレーク;
- }< /p>
if ($im && $n) {
- echo "サムネイルが正常に生成されました。
";
- }else{
- echo "サムネイルの生成に失敗しました。 ";
- }
- imagedestroy( $im );
- imagedestroy( $n );
- }else{
- echo "画像は指定された幅を超えないため、拡大縮小する必要はありません。 ";
- }
- }
コードをコピー
|