< /tr> ;br> ウェブページ教育ネットワーク webjx.com
if($_POST['action ']=='doup') { $uptypes=array('image/jpg','image/jpeg','image/ pjpeg','image/gif');//画像ファイルをアップロード タイプリスト $wFile=$_FILES['upfile'];//ファイルパスを取得 $waterimg="water.gif";//ウォーターマーク画像パス //print_r($wFile); if(in_array($wFile['type'], $uptypes)) {//アップロードされたファイルがjpg または gif 画像、ウォーターマークを追加します if(strstr($wFile[ 'type'],"jp")) { //アップロードされた画像タイプが jpg、pjpeg、jpeg の場合、imagecreatefromjpeg を使用して読み取ります対象ファイル $im = imageCreatefromjpeg($wFile['tmp_name']) ; $wfilew=imagesx($im);//画像の幅を取得 $wfileh=imagesy($im) );// 画像の高さを取得します } else {// それ以外の場合、アップロードされた画像タイプが gif の場合、imagecreatefromgif を使用してターゲット ファイルを読み取ります $im = imageCreatefromgif($ wFile['tmp_name']); $wfilew=imagesx($im);//画像の幅を取得します $wfileh=imagesy($im);//画像の高さを取得します } //ブレンドモードを設定します imagealphablending($im, true); //ウォーターマークファイルを読み込みます $im2 = imagecreatefrompng($waterimg) //ウォーターマーク画像がjpgの場合、これ$im2 = imagecreatefromjpeg($waterimg) //$white = imagecolorallocate($im2, 255 , 255, 255) // imagecolortransparent($im2,$white); // に変更できます。 color、これらの 2 つの文は必要ありません $waterw=imagesx($im2);//ウォーターマーク画像の幅を取得します $waterh=imagesy($im2);//ウォーターマーク画像の高さを取得します //画像にウォーターマークをランダムに挿入します $randval = rand(0,9);//0 ~ 9 の間で乱数を生成します if($randval==0||$randval== 3||$randval==2||$randval==8||$randval==7){//これは OK より多くのポジションを配置するのに最適です $wimgx=5;$wimgy=5;//配置左上隅に配置します }else{ $wimgx=$wfilew-5-$waterw;$wimgy=$wfileh-5 -$waterh;//右上隅に配置します } //ウォーターマークをターゲット ファイルにコピーします imagecopy($im, $im2, $wimgx, $wimgy, 0, 0, $waterw,$waterh) ; //出力画像 if(strstr($wFile['type'],"jp")){ //上と同じ imagejpeg($im,$wFile['tmp_name'] ); }else{ imagegif($im,$wFile['tmp_name']); } imagedestroy($im); imagedestroy($im2); copy($wFile['tmp_name'], $wFile['name']); //Upload } else echo "画像が一致しません! ! "; } ?>
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。 |