ホームページ > バックエンド開発 > PHPチュートリアル > php_PHP チュートリアルの PNG 透明背景透かしプログラム コード

php_PHP チュートリアルの PNG 透明背景透かしプログラム コード

WBOY
リリース: 2016-07-20 11:11:38
オリジナル
928 人が閲覧しました

画像に透かしを追加することは、PHP プログラムでよく使用される非常に実用的な機能です。PHP の背景透明透かしプログラム コードを詳しく紹介します。例コード

のコードは次のとおりです コードをコピーします

$ 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

tru​​e

http://www.bkjia.com/PHPjc/444633.html

技術記事

画像に透かしを追加することは、PHP プログラムでよく使用される非常に実用的な機能です。PHP の背景透明透かしプログラム コードを詳しく紹介します。 コードは次のとおりです コードをコピー /...





ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート