ホームページ  >  記事  >  php教程  >  PHP サンプル プログラム: アップロードされた画像に透かしパターンを追加する方法

PHP サンプル プログラム: アップロードされた画像に透かしパターンを追加する方法

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

 
   
     
   
   
     
   
   
     
='action' value='doup'>

上传图片
 

       
         
           
           
         
         
         
           
         
       
路径:

               
  


         

       

< /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($w​​File['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 までご連絡ください。