根据TextArea传来的值,自动折行,并合成图片
2017-10-12 19:29
405 查看
//$bigImgPath = $_REQUEST['image'];//背景图 $bigImgPath = 'opcity.png';//背景图 $new_file = "../upload/";//上传路径 if($_REQUEST['content']){ $font = 'font.ttf';//字体 $fontSize = 30; //字体大小 $circleSize = 0; //旋转角度 $left = 20; //左边距 $top = 60; //顶边距 $content = autowrap($fontSize,0,$font,$_REQUEST['content'],419); //新的判断行数,行数不同,选择透明的背景高度也不一样 $count = count(explode("\n",$content)); if($count==1){ $bigImgPath = '../images/opcity1.png';//背景图 }elseif($count==2){ $bigImgPath = '../images/opcity2.png';//背景图 }elseif($count==3){ $bigImgPath = '../images/opcity3.png';//背景图 }else{ $bigImgPath = '../images/opcity4.png';//背景图 } $img = imagecreatefromstring(file_get_contents($bigImgPath)); $black = imagecolorallocate($img, 0, 0, 0);//字体颜色 RGB $slide_color = imagecolorallocate($img, 255, 255, 255);//字体颜色 RGB imagesavealpha($img,true);//这里很重要 意思是不要丢了$sourePic图像的透明色; imagefttext($img, $fontSize, $circleSize, $left+3, $top, $slide_color, $font,'"'.$content.'"');//假装是一个描边 imagefttext($img, $fontSize, $circleSize, $left-3, $top, $slide_color, $font,'"'.$content.'"'); imagefttext($img, $fontSize, $circleSize, $left, $top, $black, $font,'"'.$content.'"'); list($bgWidth, $bgHight, $bgType) = getimagesize($bigImgPath); header('Content-Type:image/png'); imagepng($img,$new_file.$_REQUEST['filename']); echo json_encode($new_file.$_REQUEST['filename']) ; } function autowrap($fontsize, $angle, $fontface, $string, $width) { // 这几个变量分别是 字体大小, 角度, 字体名称, 字符串, 预设宽度 $content = ""; // 将字符串拆分成一个个单字 保存到数组 letter 中 for ($i=0;$i<mb_strlen($string,'UTF8');$i++) { $letter[] = mb_substr($string, $i, 1,'UTF8'); } foreach ($letter as $l) { $teststr = $content." ".$l; $testbox = imagettfbbox($fontsize, $angle, $fontface, $teststr); // 判断拼接后的字符串是否超过预设的宽度 if (($testbox[2] > $width) && ($content !== "")) { $content .= "\n"; } $content .= $l; } return $content; }
相关文章推荐
- jquery实现根据浏览器窗口大小自动缩放图片的方法
- java 添加背景图片(可根据窗口大小自动调整显示图片)
- 根据url自动下载图片的demo
- 根据图片自动生成动画
- ViewPager实现自动滑动和下面小圆点可根据图片大小来自适应
- 可根据内容多少自动伸缩的textarea
- android 图片宽度填满屏幕宽度,图片高度根据图片的比例自动匹配,这样就不会拉伸图片
- android根据density自动放大网络图片
- js根据输入字符长度自动调整textarea高度
- Jquery让图片根据浏览器窗口大小自动缩放
- 让网页背景图片 根据屏幕大小自动铺满
- div 自动缩放图片大小(根据DIV宽度自动缩放,图片不被剪裁)
- 弹出自适应图片大小的窗口弹出窗口根据图片大小,自动判断高和宽
- Autosize插件允许textarea元素根据录入的内容自动调整元素的高度
- ios图片缩放,根据UIImageView Frame的尺寸,自动调整UIImage缩放,保证图片显示不变形
- sencha touch textarea 根据内容的自动增长与缩小
- C# 调用FFmpeg 根据图片合成视频
- 关于textarea根据文本内容自动改变高度
- C#实现根据图片的EXIF自动调整图片方向
- C#实现根据图片的EXIF自动调整图片方向<转>