天天看点

tp5 画图类

在项目种  如果根据一张图片,图片可以多用能进行文字编辑的类

/**
     * 图片绘制
     * @param string $filename  图片序号
     * @param string $string    玩家姓名
     * @param string $image     是否显示图片 否1 是''
     * @return $this
     */
	public function images($filename = '', $string = '',$image='')
	{
	    //判断底图
        if ($image == "") {
            //设置背景图
            $filename = './static/img/item8_player'.$filename.'.jpg';
        }else{
            //设置下载图
            $filename = './static/img/item8_player'.$filename.'.jpg';
        }

		//设置要合成的字符串
		$string = $string.'1';
		//设置字体大小
		$fontSize = 45;
		
		//获取图片的属性,第一个宽度,第二个高度,类型1=>gif,2=>jpeg,3=>png
		list($width, $height, $type) = getimagesize($filename);

		//通过“变量函数”去打对应的函数去创建图片的资源
		$image = imagecreatefromjpeg($filename);

		//设置字体的X轴坐标位置
		$x = '51';

		//设置字体的Y轴坐标位置
		$y = '199';

		//设置字体的颜色为白色
		$textcolor = imagecolorallocate($image, 234, 234, 235);
		
		//向图片画一个指定的字符串
		$string = iconv_substr($string, 0, -1, 'utf-8');
		$ttfPath = '.7endor/topthink/think-captcha/assets/zhttfs/';

		//字体从左往右横向绘制
		imagettftext($image, $fontSize, 0, $x, $y, $textcolor, $ttfPath . '2.ttf', $string);
		
		ob_start();
		// 输出图像
		imagejpeg($image);
		$content = ob_get_clean();
		imagedestroy($image);
		
		return response($content, 200, ['Content-Length' => strlen($content), ''])->contentType('image/png');
	}
           

如整合期间有遇到什么问题 可以加群 858507220 一起讨论哦。