ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルを使用して画像に中国語の透かしを追加する

php_PHP チュートリアルを使用して画像に中国語の透かしを追加する

WBOY
WBOYオリジナル
2016-07-20 11:05:14852ブラウズ

中国語の透かしを追加
/*------------------------------------- --- -----------------------
**説明: これは、指定された画像に下部のウォーターマークを追加するために使用されるカスタム クラスです (画像を占有せずに)画像表示領域) を作成する必要があります
**バージョン: v1.0
**作成: 2007-10-09
**更新: 2007-10-09
**担当者: Lao Fat Niu ([メール] fatkenme@163.com[ /email] QQ:70177108)
**注: 1. gd ライブラリのサポートと iconv のサポートが必要です (php5 は既に含まれており、ロードする必要はありません)
2. 3 種類の画像にのみ適しています、jpg/jpeg/gif/png、その他のタイプ 未処理
3. 画像が配置されているディレクトリの属性は書き込み可能である必要があることに注意してください 4. 呼び出し例:
$objImg = new MyWaterDown Chinese(); $objImg-> ; filename = "1.jpg"; ------------------- ------------------------------- -*/
class MyWaterDown Chinese{
このクラスを呼び出すページからの、画像が配置されているディレクトリの相対パス
var $FileName = "" //画像の名前 (「1.jpg」など)。 "
var $Text = ""; //画像に追加する透かしテキスト、中国語をサポートします
var $TextColor = "#ffffff"; //テキストの色、gif画像の場合はフォント色は黒のみです
var $TextBgColor = "#000000" //テキストの背景バーの色
var $ Font = "c://windows//fonts//simhei.ttf";保存ディレクトリ、相対パス
var $OverFlag = true; //元の画像を上書きするかどうか、デフォルトは上書きする、上書きしない場合は、元の画像ファイル名の後に「_water_down」を自動的に追加します(例:「1.jpg」) => "1_water_down.jpg"
var $BaseWidth = 200; //透かしテキストを追加する前に、画像の幅は少なくとも 200 でなければなりません。 --// ---------------------------------------------- ------------------------------------------------ ---- ----------------
//関数: クラス コンストラクター (php5.0 以降)
//パラメーター: なし
//戻り値: なし
function __construct(){;}

//------------------------------------------ ---- ----------------------
//関数: クラスデストラクター(php5.0以降)
//パラメータ: なし
//戻り値: なし
function __destruct(){;}
//---------------------------- ------------ ------------------------

//----------------------------------------
//関数: 関数を実行する画像を与えるオブジェクトにウォーターマークを追加します
//パラメータ: なし
//戻り値: なし
function Run()
{
if($this->FileName == "" || $this->Text == " ")
return ;
// GD ライブラリがインストールされているかどうかを確認します
if(false == function_exists("gd_info"))
{
// echo "GD ライブラリがシステムにインストールされていないため、ウォーターマークを追加できません";
// return;
}
//設定 入力および出力画像のパス名
$arr_in_name =explode(".",$this->FileName);
//
$inImg = $this- >Path.$this->FileName;
$outImg = $ inImg;
$tmpImg = $this->Path.$arr_in_name[0]."_tmp.".$arr_in_name[1]; //一時的に処理されます写真、非常に重要です
if(!$this->OverFlag) M $ OUTIMG = $ this- & gt; $ Arr_in_name [0]. $ Arr_in_name [1]; /画像の属性を取得します
$groundImageType = @getimagesize($inImg);
$imgHeight = $groundImageType[1];
$imgType = $groundImageType[2]; ($ imgwidth< $ this> basewidth)//基本幅よりも小さい場合、
2:
$ image = imagecreatefromjpeg($ inimg); ; $image,hexdec(substr($this->TextColor,1,2)),hexdec(substr($this->TextColor,3,2)),hexdec(substr($this->TextColor,5) , 2))); //テキストの色
//空の画像を生成し、その高さは下部の透かしの高さだけ増加します
$newHeight = $imgHeight+20;
$objTmpImg = @imagecreatetruecolor($imgWidth,$newHeight) );
$colorBg = @imagecolorallocate($objTmpImg,hexdec(substr($this->TextBgColor,1,2)),hexdec(substr($this->TextBgColor,3,2)),hexdec(substr( $this- >TextBgColor,5,2))); //背景色
//画像の背景色を塗りつぶします
@imagefill ($objTmpImg,0,0,$colorBg);
//元の画像をコピーします一時画像に
@imagecopy($objTmpImg,$image,0,0,0,0,$imgWidth,$imgHeight);
//書き込むウォーターマークテキストオブジェクトを作成
$objText = $this->createText ($this-> ;Text);
//書き込むウォーターマークテキストの位置を計算します
$x = 5;
$y = $newHeight-5;
//テキストウォーターマークを書き込みます
@imagettftext($objTmpImg ,10,0,$ x,$y,$color,$this->Font,$objText);
//新しい画像、一時的な画像を生成します
switch($imgType)
{
ケース1:ImageGif($ objtmpimg)
//----------------------------------------
//関数: を作成します。ウォーターマーク テキスト オブジェクト
//パラメータ: なし
//Return: 作成されたウォーターマーク テキスト オブジェクト
function createText($instring)
{
$outstring="";
$max=strlen($instring);
for($ i= 0;$i<$max;$i++)
outstring .= "".base_convert(bin2hex(iconv("gb2312","ucs-2",substr($instring,$i,2))),16 ,10).";";
S}
else} {
$ OUTSTRING.



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

www.bkjia.com

tru​​e

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

技術記事

中国語の透かしを追加しますか?php /*------------------------------------------ --- ------------------ **説明: 指定した画像に下透かしを追加するカスタマイズです (画像表示領域を占有しません)。




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