真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用php將二維碼和文字結(jié)合到一個(gè)背景圖片上

如何使用php將二維碼和文字結(jié)合到一個(gè)背景圖片上?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

為淮陽(yáng)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及淮陽(yáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、淮陽(yáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

將二維碼生成到背景圖片上,并且文字生成到背景圖上,可以無(wú)限制擴(kuò)增

1.生成前的圖片
如何使用php將二維碼和文字結(jié)合到一個(gè)背景圖片上

生成后的圖片

如何使用php將二維碼和文字結(jié)合到一個(gè)背景圖片上

class codeImg
{
	private $date,$img,$main,$width,$height,$target,$white;
    	public function constr($source)
    	{
    		$this->date   = '' . date('Ymd') . '/';
	        $this->img    = $this->date . md5($source) . '.jpg';
	        $this->main   = imagecreatefromjpeg($source);
	        $this->width  = imagesx($this->main);
	        $this->height = imagesy($this->main);
	        $this->target = imagecreatetruecolor($this->width, $this->height);
	        $this->white  = imagecolorallocate($this->target, 255, 255, 255);
        		imagefill($this->target, 0, 0, $this->white);
        		imagecopyresampled($this->target, $this->main, 0, 0, 0, 0, $this->width, $this->height, $this->width, $this->height);
    	}
    	/**
	     * 生成二維碼
	     * @param  [type]  $website  [生成二維碼地址]
	     * @param  string  $filename [生成二維路經(jīng)名稱]
	     * @param  string  $level    [這個(gè)參數(shù)可傳遞的值分別是L(QR_ECLEVEL_L,7%)、M(QR_ECLEVEL_M,15%)、Q(QR_ECLEVEL_Q,25%)、H(QR_ECLEVEL_H,30%),這個(gè)參數(shù)控制二維碼容錯(cuò)率,不同的參數(shù)表示二維碼可被覆蓋的區(qū)域百分比,也就是被覆蓋的區(qū)域還能識(shí)別;]
	     * @param  integer $size     [控制生成圖片的大小,默認(rèn)為4]
	     * @param  integer $margin [控制生成二維碼的空白區(qū)域大小]
	     * @return [type]            [description]
	     */
	      public function qrencode($website, $filename = false, $level = "L", $size = 4, $margin = 2)
	      {
	      		include "./phpqrcode/qrlib.php";
        			QRcode::png($website, $filename, $level, $size, 2);
	      }
	      /**
	     * 把二維碼圖片生成到背景圖片上及文字
	     * @param  string  $source      背景圖片
	     * @param  string  $text1       文字描述
	     * @param  string  $child1      二維碼圖
	     * @param  integer $textwidth   文字橫向位置
	     * @param  integer $textherght  文字高度
	     * @param  integer $$fontSize   字體大小
	     * @param  integer $cate1,$cate2,$cate3 顏色表
	     * @param  string $font         文字字體
	     * @return [type]               [description]
	     */
	     public function generateFont($source, $text1, $textwidth, $textherght, $fontSize = 18, $cate1 = 255, $cate2 = 250, $cate3 = 250, $font = './font/fangsong_GB2312.ttf')
	     {
	     	$this->constr($source);
        		$fontColor = imagecolorallocate($this->target, $cate1, $cate2, $cate3); //字的RGB顏色
        		$fontBox   = imagettfbbox($fontSize, 0, $font, $text1); //文字水平居中實(shí)質(zhì)
        		imagettftext($this->target, $fontSize, 0, $textwidth, $textherght, $fontColor, $font, $text1);
        		$this->createImg();
        		return $this->img;
	     }
	      /**
	     * [generateImg description]
	     * @param  string  $source        背景圖片
	     * @param  string  $codeurl       二維碼圖片
	     * @param  integer  $sourcewidth  二維碼橫向所在位置
	     * @param  integer  $sourceheight 二維碼高度位置
	     * @param  integer $codewidth    二維碼寬度
	     * @param  integer $codeheight   二維碼高度
	     * @return [type]                [description]
	     */
	      public function generateImg($source, $codeurl, $sourcewidth, $sourceheight, $codewidth = 100, $codeheight = 100)
	      {
			$this->constr($source);
        			$child1 = imagecreatefrompng($codeurl);
        			$codewidth = $codewidth > 0 ? $codewidth :imagesx($child1);
        			$codeheight = $codeheight > 0 ? $codeheight : imagesy($child1);
        			imagecopyresampled($this->target, $child1, $sourcewidth, $sourceheight, 0, 0, $codewidth, $codeheight,imagesx($child1),imagesy($child1));
        			imagedestroy($child1);
        			$this->createImg();
        			return $this->img;
		}
		function createImg()
		{
			@mkdir('./' . $this->date);
       			 imagejpeg($this->target, './' . $this->img, 95);
        			imagedestroy($this->main);
        			imagedestroy($this->target);
		}
	}
		$source       = "./img/1000.jpg";
		$codeImg = new codeImg($source);
		$website = "http://www.baidu.com";
		$codeurl = "./temp/code.png";
		$codeImg->qrencode($website, $codeurl);
		#################################
		$text         = "開(kāi)始了開(kāi)始了hahhah呵呵";
		$textwidth    = 100;
		$textherght   = 50;
		$generateFont = $codeImg->generateFont($source, $text, $textwidth, $textherght);
		##########################################################
		$sourcewidth  = 200;
		$sourceheight = 150;
		$generateImg  = $codeImg->generateImg($generateFont, $codeurl, $sourcewidth, $sourceheight);
		echo "";
	
	``		

看完上述內(nèi)容,你們掌握如何使用php將二維碼和文字結(jié)合到一個(gè)背景圖片上的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


本文名稱:如何使用php將二維碼和文字結(jié)合到一個(gè)背景圖片上
轉(zhuǎn)載來(lái)源:http://weahome.cn/article/iesgjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部