$ dst = "/upload/20120914/201209140740-0.jpg"; 情報
$d st_info = getimagesize($dst);
switch ($dst_info[2])
{
case 1:
$dst_im =imagecreatefromgif($dst);break;
case 2:
$dst_im =imagecreatefromjpeg($dst);break; ケース 3:
$dst_im =imagecreatefrompng($dst);break;
ケース 6:
$dst_im =imagecreatefromwbmp($dst);break;
default :
die("サポートされていないファイル タイプ 1") ;exit;
}
//ウォーターマーク画像
$src = "/images/shuiyin.png"; //パスは正しく書かれている必要があることに注意してください
$ src_info = getimagesize($src);
switch ($src_info[2])
{
ケース1:
$src_im =imagecreatefromgif($src);ブレイク;
ケース2:
$src_im =imagecreatefromjpeg($src);ブレイク;
ケース3 :
$src_im =imagecreatefrompng($src);break;
ケース 6:
$src_im =imagecreatefromwbmp($src);break;
default:
die ("サポートされていないファイル タイプ 1");exit;
}
//半透明形式のウォーターマーク
//$alpha = 50;//ウォーターマークの透明度
//imagecopymerge($dst_im,$src_im ,$dst_info[0]-$src_info[0] -10,$dst_info[1]-$src_info[1]-
10,0,0,$src_info[0],$src_info[1],$alpha) ;
//透明度をサポートする方法PNG 自体の画像
imagecopy($dst_im,$src_im,$dst_info[0]-$src_info[0]-10,$dst_info[1]-$src_info[1]-10 ,0,0,$src_info
[ 0],$src_info[1]);
//画像を保存
switch ($dst_info[2]){
case 1:
imagegif($dst_im ,$dst);break;
case 2:
imagejpeg($dst_im,$dst);ブレイク;
ケース3:
imagepng($dst_im,$dst);ブレイク;
ケース6:
imagewbmp($dst_im,$dst);ブレイク;
デフォルト:
die("サポートされていないファイルタイプ2");終了;
}
imagedestroy($dst_im);
imagedestroy($src_im);
標準の画像透かしクラスを与えます
コードは次のとおりです | コードをコピーします |
オンラインで見つかった透かしコード: /* * 機能: PHP 画像透かし (透かしは画像またはテキストをサポートします) * パラメータ: * $product_img 背景画像、つまり透かしを入れる必要がある画像は、現在 GIF、JPG、PNG 形式のみをサポートします * $waterPos 透かしの位置、10 個の状態があり、0 はランダムな位置です。 * 1 は上部が左側にあることを意味し、2 は上部が中央にあることを意味し、3 は上部が右側にあることを意味します * 4 は中央が左側にあることを意味し、5 は中央にあることを意味します。中央は右側です。 * 7 は下が左側、8 は下が中央、9 は下が右側を意味します * $waterImage 画像の透かし、つまり透かしとして使用される画像。 、現在 GIF、JPG、PNG 形式のみをサポートします。 * $waterText テキスト透かし、つまりテキストが透かしとして使用されます。ASCII コードをサポートします。中国語はサポートされません。 * $textFont テキスト サイズ、値は 1、2 です。 、3、4、または 5、デフォルトは 5 です。 * $textColor テキストの色、値は 16 進数の色の値、デフォルトは #FF0000 (赤) です。 * * 注: GD 2.0 をサポート、FreeType、GIF をサポート読み取り、GIF 作成、JPG、PNG * $waterImage と $waterText を同時に使用しないことをお勧めします。どちらか 1 つを選択し、最初に $waterImage を使用します。 * $waterImage が有効な場合、パラメータ $waterString、$stringFont、および $stringColor は有効になりません。 * 透かし入り画像のファイル名は$product_imgと同じです。 * 作成者:longware @ 2004-11-3 14:15:13 */ function imageWaterMark
($product_img,$waterPos=0,$waterImage="",$waterText="",$textFont=5,$textColor="#FF0000") { $isWaterImage = FALSE $formatMsg = "まだ;このファイル形式はサポートされています。画像処理ソフトウェアを使用して画像を GIF、JPG、PNG 形式に変換してください。 "; //ウォーターマーク ファイルを読み込みます if(!empty($waterImage) && file_exists($waterImage)) { " $ isWaterImage = TRUE; $water_info = getimagesize($waterImage); $water_w = $water_info[0];//ウォーターマーク画像の幅を取得 $water_h = $water_info[1]; // ($water_info [2])//ウォーターマーク画像の形式を取得します case 3water_im = imagecreatefrompng($waterImage) ; info = getimagesize($product_img); $ground_w $ground_w frompng($product_img);break;死ぬ($formatMsg); 。 "); } //ウォーターマークの位置 if($isWaterImage)//画像のウォーターマーク { $w = $water_w; $h = $water_h; $label = "picture"; } else/ /Text透かし $temp = imagettfbbox(ceil($textFont*2.5) ),0,"arial.ttf",$waterText);//TrueType フォントを使用してテキストを取得します
本書の範囲 $w = $temp[2] - $temp[6] "; } if( ($ground_w<$w) || ($ground_h<$h) ) { } echo "透かしを入れる必要がある画像の長さまたは幅は、透かし ".$label." より小さいため、動的透かしにすることはできません } switch ($ Waterpos) { case 0: //ランダム$ posx = rand($ ground_w -$ w)); 0; Ground_H- $ h)/2; $ground_h - {imagecopy($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h);//ウォーターマークを対象ファイルにコピー
} else//テキストウォーターマーク { $textColor) && ( strlen($ textcolor)== 7)) イメージング($ ground_im、$ posx、$ watertext、imageColorAllocate($ ground_im、$ r、$ g、$ b); )// 背景画像の形式を取得します { case 1:imagegif($ground_im,$product_img);break; case 2: imagejpeg($ground_im,$product_img); case 3: imagepng($ground_im); ,$ product_img);break; default:die($errorMsg); } // メモリを解放 if(isset($water_info)) unset($water_info) if(isset($water_im))水_im) ; unset($ground_info); }
//-------------------------- - ------------------------------------------------- - ------- if(isset($_FILES) && !empty($_FILES['userfile']) && $_FILES['userfile']['size']>0) { $uploadfile = "./".time()."_".$_FILES['userfile']['name'] if (copy($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "ok&lt; br&gt;"; src="".$uploadfile."" ボーダー=
http://www.bkjia.com/PHPjc/444633.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/444633.html
技術記事
画像に透かしを追加することは、PHP プログラムでよく使用される非常に実用的な機能です。PHP の背景透明透かしプログラム コードを詳しく紹介します。 コードは次のとおりです コードをコピー /...
|
|