ホームページ  >  記事  >  php教程  >  ファイルをアップロードして小さな画像とテキストを生成する PHP 実装の例

ファイルをアップロードして小さな画像とテキストを生成する PHP 実装の例

WBOY
WBOYオリジナル
2016-06-21 09:00:41908ブラウズ

//自動サムネイル $srcFile 元のファイル、大きい画像; $photo_small ターゲット ファイル、小さい画像; $dstW、$dstH は小さい画像の幅と高さです。
function makethumb($srcFile,$photo_small,$dstW,$dstH) {
$data = GetImageSize($srcFile);
switch ($data[2]) {
case 1: / /画像タイプ、1 は GIF 画像です
$im = @ImageCreateFromGIF($srcFile);
Break;
case 2: //画像タイプ、2 は JPG 画像です
$im = @ imagecreatefromjpeg( $srcFile);
Break;
case 3: //画像タイプ、3 は PNG image
$im = @ImageCreateFromPNG($srcFile);
Break;
}
$ srcW=ImageSX($im);//元の画像の幅、$data[0]
も使用できます $srcH=ImageSY($im);//元の画像の高さ、あなたは$data[1]
$srcX=0;//ソース画像の座標 x,y
$srcY=0;
if(($srcW/$dstW)>($ srcH/$dstH)){// 生成する画像の長さと幅を取得します
$dstW2=$dstW;// 画像の幅と高さを出力します
$dstH2=$srcH*$dstW /$srcW;
$dstX=0;// グラフィックの座標 x,y を出力します
$dstY=($dstH-$dstH2)/2;
}
else{
$dstH2=$dstH;//画像の幅と高さを出力します
$dstW2=$srcW*$dstW/$srcH;
$dstX=($dstW-$dstW2)/2;//グラフィックの座標 x、y を出力します
$dstY=0;
}
$ni=imagecreatetruecolor($dstW,$dstH);//ImageCreate($dstW,$dstH);サイズを描画します空の花柄の布の
$colorBody=imagecolorallocate($ni,235,234,233);// 背景色を定義します
imagefill($ni,0,0,$colorBody);// 背景色を塗りつぶします
ImageCopyResize( $ni,$im,$dstX,$dstY,$srcX,$srcY,$dstW2, $dstH2,$srcW,$srcH);
ImageJpeg($ni,$photo_small);
//ImageJpeg( $ni); //画像を表示するときに使用し、コメントをキャンセルしてページに直接表示します。
}
//著作権情報を含む画像を生成します
function makeCopyright($srcFile,$dstFile,$dstW,$dstH){
$data = GetImageSize($srcFile);
switch ( $data[2]) {
case 1: //画像タイプ、1 は GIF 画像です
$srcImg = @ImageCreateFromGIF($srcFile);
Break;
case 2: // 画像タイプ、2 は JPG 画像です
$srcImg = @imagecreatefromjpeg($srcFile);
Break;
case 3: //画像タイプ、3 は PNG 画像です
$srcImg = @ImageCreateFromPNG( $ srcFile);
Break;
}
$srcW=ImageSX($srcImg);//元の画像の幅、$data[0]
$srcH=ImageSY も使用できます($srcImg) ;//元の画像の高さについては、$data[1]

if(($srcW/$dstW)>($srcH/$dstH)){ を使用することもできます。 //生成する画像の高さを取得 長さと幅
$dstW2=$dstW;//出力画像の幅と高さ
$dstH2=$srcH*$dstW/$srcW;
}
else{
$dstH2=$ dstH;//画像の幅と高さを出力します
$dstW2=$srcW*$dstW/$srcH;
}
$dstimg= imagecreatetruecolor($dstW2,$dstH2);//空の花を描く 布のサイズ
ImageCopyResize($dstimg,$srcImg,0,0,0,0,$dstW2,$dstH2,$srcW,$srcH );
//書き込むテキストを定義します
$ word="http://www.webjx.com";//Text
$font=5;//Font
$wordColor =imagecolorallocate($dstimg,0x08,0x00,0x00);//カラー
$wordX=$dstW2-200;//x 座標
$wordY=$dstH2-20;//y 座標
imagestring ($dstimg,$font,$wordX,$wordY,$word,$ wordColor);//テキストを書き込みます
ImageJpeg($dstimg,$dstFile);
//ImageJpeg($ni);画像を表示する場合は、コメントをキャンセルして、ページ上に直接画像を表示してください。
}

//
$srcFile=$pimg_name を呼び出します。//ファイル拡張子を取得します:
$type=substr(strrchr($pimg_name,"."),1);
$photo_ID=date("YmdHis");
$dst_small=$photo_ID."_s.".$type; //小さな写真
$dst_big=$photo_ID."_b.".$type; ; //大きい画像
makethumb($pimg,"../cpzs/".$dst_small,120,90) //120,90は小さい画像の幅、高さ
makeCopyright($pimg); ,". ./cpzs/".$dst_big,600,480);
//if(copy($pimg,"../cpzs/".$dst_big))
// echo "ファイルは正常にアップロードされました< br> ";
//else
// echo "ファイルのアップロードに失敗しました
";
?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。