이 글의 내용은 PHP GD 라이브러리를 사용하여 사진에 텍스트를 추가하는 방법(코드)에 관한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
이 장에서 설명한 대로 PHP의 gd 라이브러리 확장을 사용하여 축소판 생성, 이미지 자르기, 이미지에 텍스트 추가 등의 이미지 처리를 수행할 수 있습니다.
1. 먼저 필요한 텍스트를 받아야 합니다. $key = $_GET['key']; 수신된 값의 안티 SQL 처리와 같은 특정 작업은 여기서 소개되지 않습니다.
2. gd 라이브러리를 직접 사용하여 텍스트를 붙여넣으면 요구사항을 충족하지 못합니다. 왜냐하면 일반적으로 직접 붙여넣을 때 단어 간격이 없고 매우 가깝기 때문에 미적 측면에 영향을 미치기 때문입니다. 필요하지 않으므로 수신된 콘텐츠를 분할해야 합니다. 아래에서는 일반 캡슐화된 함수를 사용하여 중국어 문자열을 배열로 분할합니다.
/** * 将字符串分割为数组 * @param string $str 字符串 * @return array 分割得到的数组 */ function mb_str_split($str){ return preg_split('/(?<!^)(?!$)/u', $str ); }
3 위 함수는 텍스트를 배열로 분할합니다. 다음으로 gd 라이브러리를 사용하여 텍스트 배열을 그림에 하나씩 추가합니다.
<?php function index(){ $img =$back = PATH_ROOT."1.jpg";//图片跟路径 $str= $_GET('key');//接收值 $text = $this->mb_str_split($str);//将值拆分为数组 $size = 40;//字体大小 $font = PATH_ROOT."/1.ttf";//加载字体ttf $img = imagecreatefromjpeg($img);// 加载已有图像 $black = imagecolorallocate($img, 24, 165, 234);//设置颜色为蓝色 $x =355;//首个字的横坐标 $red = imagecolorallocate($img,255,255,255);//创建白色底色 imagefilledrectangle($img,340,40,420,120,$red);//构建一个矩形 foreach ($text as $k=>$v){ imagettftext($img, $size, 0, $x, 100, $black, $font, $v);//循环添加文字 $x = $x + 70;//增加横坐标来做到间距的效果 } $time = rand(1,10000).time().".png";//定义图片名 ImagePNG($img,PATH_ROOT."/".$time);//保存图片 } function mb_str_split($str){ return preg_split('/(?<!^)(?!$)/u', $str ); }
이런 방식으로 수신된 텍스트를 사진을 저장하고 동시에 저장
헤더('Content-Type: image/png')를 추가하면 사진이 브라우저에 표시됩니다
관련 권장 사항:
php_php로 원을 그리는 방법 원 다이어그램을 그리는 gd 라이브러리
GD 라이브러리를 사용하여 정사각형 그림을 둥근 그림으로 바꾸는 PHP 방법(코드)
위 내용은 PHP는 GD 라이브러리를 사용하여 그림(코드)에 텍스트를 추가하는 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!