PHP開発畫像 ウォーターマークチュートリアル操作畫像
操作畫像
<?php /*打開圖片*/ //配置圖片路徑 $src = "https://img.php.cn/upload/course/000/000/004/581454f755fb1195.jpg"; //獲取圖片的基本信息 $info=getimagesize($src); //通過圖像的編號來獲取圖片的類型 $type=image_type_to_extension($info[2],false); //內(nèi)存中創(chuàng)建一個和我們圖像類型一致的圖像 $fun = "imagecreatefrom{$type}"; //把要操作的圖片復(fù)制到內(nèi)存中 $image=$fun($src); /*操作圖片*/ //設(shè)置水印路徑 $image_Mark = "https://img.php.cn/upload/course/000/000/004/5814594e3e7c9278.png"; //獲取水印的基本信息 $info2=getimagesize($image_Mark); //通過水印的圖像編號來獲取水印的圖片類型 $type2=image_type_to_extension($info2[2],false); //在內(nèi)存中創(chuàng)建一個和水印圖像一致的圖像類型 $fun2="imagecreatefrom{$type2}"; //把水印復(fù)制到內(nèi)存中 $water = $fun2($image_Mark); //合并圖片 imagecopymerge($image,$water,60,40,0,0,$info2[0],$info2[1],30); //銷毀水印圖片 imagedestroy($water); ?>
コードの説明:
getimagesize — 畫像サイズを取得します
image_type_to_extension - サフィックス名を返します。
次にそれをメモリに保存し、imagecopymerge 関數(shù)を使用して畫像を結(jié)合し、透かしを追加します
imagecopymerge — 畫像の一部をコピーして結(jié)合します
bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )
src_x、src_y から始まる src_im 畫像內(nèi)の座標(biāo)を幅付きでコピーしますsrc_w と src_h の高さから dst_im イメージ內(nèi)の座標(biāo)は dst_x および dst_yの位置にあります。 2 つのイメージは、0 ~ 100 の範(fàn)囲の pct に基づいてマージされます。 pct = 0 の場合は実際には何も行わず、100 の場合 パレット化されたイメージの場合、この関數(shù)は、トゥルーカラー イメージのアルファ透明度を?qū)g裝する imagecopy() とまったく同じです。